Frage

//code in the client
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.0.5/test");
WebResponse response = request.GetResponse();

Ich habe einen LAN-Setup mit zwei Maschinen in meiner Arbeitsgruppe.  - 192.168.0.1 (das ist der Client)  - 192.168.0.5 (das ist der Web-Server)

Das oben gezeigte Stück Code funktioniert völlig in Ordnung in einem einfachen verdrahteten Netzwerk.

Wenn ich es in einem drahtlosen Netzwerk laufen, das heißt mit dem Netzwerk-Setup einen Wi-Fi-Router anstelle eines Schalters verwendet wird, wird der Code nicht funktioniert - es auf GetResponse klemmt

.

Seltsam, wenn ich meinen Browser und geben Sie eröffnen - http://192.168.0.5/test - es funktioniert ... die Seite zeigt nach oben!

Was bin ich? Warum ist der Kunde nicht in der Lage den Server über Code kontaktieren?

War es hilfreich?

Lösung

Mit dem „stecken bleibt“ meinst du es hängt?

Ist dies die erste Anforderung in dem Programm, oder gibt es andere? Eine häufige Ursache für „hängende“ Web-Anfragen ist das Versagen zu schließen / web Antworten entsorgen. Sobald Sie zwei (Standard) vorgenommen haben Anfragen an den gleichen Server, dann würden Sie müssen warten, bis die Antworten abgeschlossen werden.

Ich weiß nicht, warum dies nur Sie im Fall einer drahtlosen Netzwerkverbindung statt verdrahtet beeinflussen würde, aber wenn Sie nicht Web-Antworten schließen (vorzugsweise mit using Aussagen) Ich würde empfehlen, die Befestigung mit zu beginnen .

Als nächstes, verfolgen das Netzwerk mit Wireshark. Das sollte es einfach wirklich zu sehen, ob die Anfrage tatsächlich gesendet wird, ob eine Antwort zurückkommt, etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top