【问题标题】:Socket Exception: Connection Actively refused套接字异常:连接主动被拒绝
【发布时间】:2013-06-29 23:00:10
【问题描述】:

目前正在制作一个 vb.net 程序来在两台计算机之间传递字符串。我的测试台是连接到 Windows 7 VM 的 Windows 8 机器。但是,尽管采取了许多措施,但我仍然在开发机器端继续收到此错误。这是我到目前为止所做/启用的。

  • 在 Visual Studio 的调试器中运行主程序,连接到 在测试虚拟机中部署的程序
  • 端口 61337。IP 地址对每台机器都是唯一的。
  • 桥接
  • 测试 VM 中的防火墙已关闭
  • 开发机器中的防火墙连接规则允许任何 tcp 跨任何端口跨任何端点的连接
  • Netgear 路由器已启用通过上述端口到开发计算机的端口转发。

我一直在绞尽脑汁,似乎想不出还有什么我没有尝试过的。

我有什么遗漏吗?我怀疑这很明显。

感谢您提供的任何帮助。

编辑:这是我为主机(本场景中的虚拟机)配置块的方式。它取自博客中某人的 c# 版本。

Dim LocalHostName As String = Dns.GetHostName()
Dim LocalHostIPEntry As IPHostEntry = Dns.GetHostEntry(LocalHostName)
Dim LocalHostIP As IPAddress = LocalHostIPEntry.AddressList(0)
Dim LocalIPEndPointAnyIP As IPEndPoint = New IPEndPoint(LocalHostIP, _Port)

【问题讨论】:

    标签: vb.net sockets tcpclient tcplistener


    【解决方案1】:

    您最有可能绑定并监听环回接口。使用IPAddress.Any 而不是LocalHostIP 接受any 接口上的连接。

    【讨论】:

    • ....是的,我认为这很明显。 :) 我从之前的答案中没有意识到的是“127.0.0.1”和服务器的 IP 地址被视为相同。出于某种原因,我还认为这是我应该做的。重新阅读 TcpListener 的 MSDN 条目...,是的,我现在感觉很傻。无论如何,再次感谢!
    猜你喜欢
    • 2016-06-24
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    相关资源
    最近更新 更多