C# 无法使用internet IP地址连接到本地计算机IP地址
上个月我写了一个多人游戏。我只在一台机器上测试过它,使用127.0.01:9051作为IPEndPoint 我将IP地址更改为WAN IP,在路由器上配置端口转发,配置软件防火墙等。。。但是,它没有连接 我已使用检查端口是否打开。结果:端口确实打开了 而且,当我检查该网站的端口时,我的服务器接收到的数据包很好;然而,当我从自己的机器连接时。。。它没有收到任何东西 我已经把一切都分解到了最基本的部分,以确保我的代码没有问题 此基本代码不起作用:C# 无法使用internet IP地址连接到本地计算机IP地址,c#,sockets,tcp,C#,Sockets,Tcp,上个月我写了一个多人游戏。我只在一台机器上测试过它,使用127.0.01:9051作为IPEndPoint 我将IP地址更改为WAN IP,在路由器上配置端口转发,配置软件防火墙等。。。但是,它没有连接 我已使用检查端口是否打开。结果:端口确实打开了 而且,当我检查该网站的端口时,我的服务器接收到的数据包很好;然而,当我从自己的机器连接时。。。它没有收到任何东西 我已经把一切都分解到了最基本的部分,以确保我的代码没有问题 此基本代码不起作用: IPEndPoint iep = new IPEnd
IPEndPoint iep = new IPEndPoint(IPAddress.Parse("XXX.XXX.XXX.XXX"), 9051);
TcpClient client = new TcpClient();
client.Connect(iep);
非常感谢您的任何想法。如果您试图连接到转发(外部IP)到同一台机器(内部IP)的IP,它将无法工作。很少有企业防火墙,也没有消费设备(据我所知)能够从内向外路由数据包并将其转换回内 [互联网]--外部IP[路由器/防火墙]内部IP1--内部IP2[计算机]
在这种情况下,来自insideIP(X)的数据包将无法连接到outsideIP。尝试查看是否可以远程登录到端口9051上的wan IP。当你从网络本身连接到路由器的广域网IP时,路由器并不喜欢这样 您可以使用Dyndns或外部世界的其他服务连接到您的服务器,并将相同的名称放入解析为127.0.0.1的主机文件中,以便您可以进行内部连接 您的客户端和服务器(在失败测试中都是同一台机器)是否使用相同的端点ip/端口?一次只能绑定一个端口一次。尝试使用两个端口,一个用于服务器,另一个用于服务器输出(clinet-in)。这样他们就不会发生冲突。使用Telnet检查您是否可以连接到正在使用的IP/端口,使用Netstat检查它们是否尚未使用。因此,基本上我需要为自己创建一个单独的客户端,该客户端使用127.0.0.1进行连接?@Jeff是的,您需要在一台或多台计算机上运行两个应用程序。agh ok问题得到解决,直到我尝试从另一台计算机连接。希望它能起作用。非常感谢。它不允许我自己ping=)ping也不是TCP。Ping是ICMP(它没有端口的概念)。k我现在没有启用telnet,我将尝试从另一台机器连接,看看它是否工作。谢谢你的帮助