为什么我无法使用不同的网络连接2台计算机

时间:2016-08-27 07:25:55

标签: c# networking tcp voip

我正在尝试TCP / IP语音聊天应用程序(我知道TCP / IP是语音聊天的一个糟糕的想法,但只是想了解机制)。我发现这个网站(http://www.socketcoder.com/ArticleFile.aspx?ArticleID=73)提供了一个C#项目。

然后,我尝试在同一网络中连接两台计算机(相同的路由器,SSID;使用内部IP),它可以工作。但是,当尝试使用不同的网络并使用外部IP时,它只是不起作用。

所以,我想知道为什么两个不同的网络会导致这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:0)

这听起来更像是一个网络问题,因为您正在使用外部IP地址,我将假设服务器和客户端位于NAT和/或防火墙后面。

在深入研究代码之前,首先检查客户端是否可以通过所需端口访问服务器。一个好的测试方法是使用telnet连接到所述端口上的服务器。要查看成功的连接是什么样的,首先在本地运行相同的测试(如果您没有敏锐的眼光,一些成功看起来像失败的消息)。

假设这是问题,您需要在服务器互联网路由器上设置端口转发规则,并允许任何防火墙上的端口。