连接被强制拒绝

时间:2014-03-25 14:57:00

标签: vb6 winsock

使用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()

1 个答案:

答案 0 :(得分:1)

首先,在任何.Connect之前,始终在WinSock控件上调用.Close方法。我不知道AxMSWinsockLib是什么,Winsock API的包装器?

无论如何,关于你的问题:

防火墙不是唯一的方法。 需要在侦听服务器的路由器上转发端口;在这种情况下,端口8000。

因此,在您尝试连接的服务器上:

  1. 看看它是否连接到路由器。你需要它的"默认网关"。
  2. 打开命令提示符并输入" ipconfig"没有引号。找到正确的适配器,查看IP地址(通常为192.168.1.x),然后找到默认网关。请注意IP地址!
  3. 默认网关是您将通过Internet Explorer(yuck),Google Chrome,Firefox等网络浏览器连接到的路由器的IP地址。
  4. 打开您选择的网络浏览器并输入:htp://192.168.0.1(http,而不是htp),其中 192.168.0.1 默认网关
  5. 系统将提示您输入用户名和密码。在路由器的型号上搜索默认密码,但通常是admin / admin,administrator / admin,或者其他什么都可以。
  6. 浏览菜单,找到一个名为Port Forwarding的东西。每个路由器都有所不同,您可能需要谷歌搜索" [这里的路由器模型]端口转发"得到指示。
  7. 进入端口转发页面后,输入您之前应注意的IP地址。这将告诉路由器将端口8000上的数据包转发到正确的计算机。
  8. 输入端口号(8000)并应用设置。
  9. 然后尝试重新连接。