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

我的工作组中有两台机器的 LAN 设置。- 192.168.0.1(那是客户端) - 192.168.0.5(那是网络服务器)

上面的代码在简单的有线网络中运行良好。

当我在无线网络上运行它时,即使用 wi-fi 路由器而不是交换机进行网络设置时,代码不起作用 - 它卡在 GetResponse 上。

奇怪的是,当我打开浏览器并输入 - http://192.168.0.5/test - 它可以工作......页面出现了!

我错过了什么?为什么客户端无法通过代码联系服务器?

4

1 回答 1

2

“卡住”是指它挂起吗?

这是程序中的第一个请求,还是有其他请求?“挂起”Web 请求的一个常见原因是未能关闭/处理 Web 响应。一旦您向同一服务器发出了两个(默认情况下)请求,您就必须等待响应最终确定。

我不知道为什么这只会在无线网络连接而不是有线连接的情况下影响您,但如果您不关闭网络响应(最好使用using语句),我建议您从一开始就修复它。

接下来,使用WireShark跟踪网络。这应该可以很容易地查看请求是否实际发送、响应是否返回等。

于 2009-06-20T17:32:39.223 回答