//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 时 - 它有效...页面出现了!

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

有帮助吗?

解决方案

被“卡住”你是说它挂了?

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

我不知道为什么这只会在无线网络连接而不是有线连接的情况下影响你,但是如果你没有关闭网络响应(最好用使用语句)我会' d建议先修复它。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top