Клиент не может подключиться к веб-серверу по беспроводной связи н / ж - через КОД

//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 ответ

Решение

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

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

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

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

Другие вопросы по тегам