2009-06-20 6 views
0
//code in the client 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.0.5/test"); 
WebResponse response = request.GetResponse(); 

J'ai une configuration LAN avec deux machines dans mon groupe de travail. - 192.168.0.1 (c'est le client) - 192.168.0.5 (c'est le serveur Web)Le client ne peut pas contacter le serveur Web via le réseau sans fil n/w - through CODE

Le code ci-dessus fonctionne parfaitement dans un réseau câblé simple. Lorsque je l'exécute sur un réseau sans fil, c'est-à-dire avec la configuration réseau à l'aide d'un routeur Wi-Fi au lieu d'un commutateur, le code ne fonctionne pas - il est bloqué sur GetResponse.

Etrangement, quand j'ouvre mon navigateur et tapez - http://192.168.0.5/test - ça marche ... la page apparaît!

Qu'est-ce qui me manque? Pourquoi le client ne peut-il pas contacter le serveur via le code?

+2

Le pare-feu Windows est-il activé? Si oui, essayez de l'éteindre pour tester. – statenjason

+0

non, le pare-feu est désactivé dans toutes les situations à tester. ne fonctionne toujours pas – Sameet

+0

Avez-vous un proxy défini dans Windows/votre navigateur? –

Répondre

2

Par "est bloqué" voulez-vous dire qu'il se bloque?

Est-ce la première demande dans le programme, ou y en a-t-il d'autres? Une cause fréquente de demandes Web «suspendues» est l'échec de la fermeture/élimination des réponses Web. Une fois que vous avez effectué deux demandes (par défaut) sur le même serveur, vous devez attendre que les réponses soient finalisées. Je ne sais pas pourquoi cela ne vous affecterait que dans le cas d'une connexion réseau sans fil, mais si vous ne fermez pas les réponses Web (de préférence avec using instructions), je vous recommande de corriger cela pour commencer avec.

Ensuite, tracez le réseau avec WireShark. Cela devrait permettre de voir si la requête est réellement envoyée, si une réponse revient, etc.

+0

Merci d'avoir répondu monsieur. Par "est bloqué", je veux dire qu'il se bloque - finit par se déplacer vers le bloc catch avec l'exception de timeout. Il s'agit de la première requête que le client envoie, donc pas de question de réponses Web non fermées. Je vais essayer Wireshark et voir si ça aide. Merci. – Sameet

+0

Bien. Si elle fait la demande mais ne reçoit pas une réponse, je comparerais la demande de .NET avec la demande du navigateur. Je ne m'attends pas à ce que ce soit amusant de le regarder avec énormément de détails, mais cela devrait finalement aider. –

Questions connexes