Клиент не может подключиться к веб-серверу по беспроводной связи н / ж - через КОД - PullRequest
0 голосов
/ 20 июня 2009
//code in the client
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.0.5/test");
WebResponse response = request.GetResponse();

У меня есть настройка локальной сети с двумя машинами в моей рабочей группе. - 192.168.0.1 (это клиент) - 192.168.0.5 (это веб-сервер)

Приведенный выше фрагмент кода прекрасно работает в простой проводной сети.

Когда я запускаю его в беспроводной сети, т. Е. При настройке сети с использованием маршрутизатора Wi-Fi вместо коммутатора, код не работает - он застревает в GetResponse.

Странно, когда я открываю свой браузер и набираю - http://192.168.0.5/test - это работает ... страница появляется!

Что мне не хватает? Почему клиент не может связаться с сервером через код?

1 Ответ

2 голосов
/ 20 июня 2009

Под "застревает" ты имеешь в виду, что оно зависает?

Это первый запрос в программе или есть другие? Одной из частых причин «зависания» веб-запросов является невозможность закрыть / удалить веб-ответы. После того, как вы сделали два (по умолчанию) запроса на один и тот же сервер, вам придется подождать, пока ответы не будут завершены.

Я не знаю, почему это повлияет на вас только в случае беспроводного сетевого соединения, а не проводного, но если вы не закрываете веб-ответы (желательно с using заявлениями), я бы порекомендовал исправить это на начать с.

Далее проследите сеть с помощью WireShark . Это должно очень легко увидеть, действительно ли отправлен запрос, возвращается ли ответ и т. Д.

...