【问题标题】:Connection is forcefully rejected连接被强行拒绝
【发布时间】:2014-03-25 14:57:00
【问题描述】:

使用如下所示的winsock,我们将信息发送到TCP端口8000。但有时我们会收到Connection is forcefully rejected(error number 10061)和Connection is aborted due to timeout or other failure(error number 10053)这样的错误。但在这两个电脑防火墙都被禁用。所以我认为端口不会因防火墙而关闭。那么如何解决这些错误。

Dim TempWinClient As New AxMSWinsockLib.AxWinsock

TempWinClient.RemoteHost = PCName
TempWinClient.RemotePort = Port          
TempWinClient.Tag = Message        
TempWinClient.Connect()

【问题讨论】:

    标签: vb6 winsock


    【解决方案1】:

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

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

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

    所以在您尝试连接的服务器上:

    1. 查看它是否连接到路由器。您需要它的“默认网关”。
    2. 打开命令提示符并键入不带引号的“ipconfig”。找到正确的适配器,查看 IP 地址(通常为 192.168.1.x),然后找到 默认网关。但请记下 IP 地址!
    3. 默认网关是路由器的 IP 地址,您将通过 Internet Explorer (yuck)、Google Chrome、Firefox 等网络浏览器连接到该地址。
    4. 打开您选择的网络浏览器并输入:htp://192.168.0.1(http,不是 htp),其中 192.168.0.1默认网关 .
    5. 系统将提示您输入用户名和密码。在您的路由器型号上搜索默认密码,但通常 admin/admin、administrator/admin 或其他密码都可以。
    6. 浏览菜单并找到一个叫做端口转发的东西。每个路由器都不一样,您可能需要谷歌搜索“[此处的路由器型号]端口转发”以获取说明。
    7. 在端口转发页面上,输入您之前应该记下的 IP 地址。这将告诉路由器将端口 8000 上的数据包转发到正确的计算机。
    8. 输入端口号 (8000) 并应用设置。

    然后尝试重新连接。

    【讨论】:

    • 我观察到一件事。服务器应用程序将在晚上 8.30 左右关闭。我的问题是我在下午 2.41 向服务器发送了消息,并且在晚上 8.39 在客户端电脑上出现“连接被强制拒绝”错误。为什么我的消息直到晚上 8.30 才拥有/收听?下午 2.41 后从同一台 PC 发送到服务器应用程序的其他消息已成功处理。那么这里可能是什么问题?
    猜你喜欢
    • 2018-08-20
    • 2017-08-08
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多