连接被强制拒绝
问题描述:
使用winsock如下图所示,我们向TCP端口8000发送了信息。但是有时我们会收到像Connection is forcefully rejected
(错误编号10061)和Connection is aborted due to timeout or other failure
(错误编号10053)的错误。但在这两个pc防火墙被禁用。所以我认为端口不会因防火墙而关闭。那么如何解决这些错误。连接被强制拒绝
Dim TempWinClient As New AxMSWinsockLib.AxWinsock
TempWinClient.RemoteHost = PCName
TempWinClient.RemotePort = Port
TempWinClient.Tag = Message
TempWinClient.Connect()
答
首先,在任何.Connect之前,总是调用WinSock控件上的.Close方法。我不知道AxmsWinsockLib是什么,是Winsock API的包装器?
无论如何,你的问题:
防火墙是不是在这样的嘛。 端口需要在监听服务器的路由器上转发;在这种情况下,端口号为8000
所以在服务器上,你试图连接到:
- 看看是不是迷上了一台路由器。你需要它的“默认网关”。
- 打开命令提示符并键入“ipconfig”,不带引号。找到正确的适配器,查看IP地址(通常为192.168.1.x),然后找到默认网关。请注意IP地址!
- 默认网关是要连接到通过Web浏览器如Internet Explorer(呸),谷歌Chrome,火狐路由器的IP地址等
- 打开您选择的Web浏览器,键入:htp://192.168.0.1(http,不是htp)其中192.168.0.1是默认网关。
- 系统会提示您输入用户名和密码。在你的路由器的模型上搜索默认密码,但通常是admin/admin,administrator/admin或其他东西都可以。
- 浏览菜单并找到一个叫做端口转发的东西。每个路由器都不同,你可能不得不谷歌搜索“[router model here port forwarding”)来获取指令。
- 进入端口转发页面后,输入您应该记下的IP地址。这将告诉路由器将端口8000上的数据包转发到正确的计算机。
- 输入端口号(8000)并应用设置。
然后尝试重新连接。
我观察过一件事。服务器应用程序将于晚上8.30左右关闭。我的问题是我在下午2点41分给服务器发送消息,并且在晚上8点9分在客户端电脑上出现'连接被强制拒绝'的错误。为什么我的信息没有被持有/收听,直到晚上8点30分?其他消息在2.41 PM之后从同一台PC发送到服务器应用程序已成功处理。那么可能是什么问题? –