我正在尝试TCP / IP语音聊天应用程序(我知道TCP / IP是语音聊天的一个糟糕的想法,但只是想了解机制)。我发现这个网站(http://www.socketcoder.com/ArticleFile.aspx?ArticleID=73)提供了一个C#项目。
然后,我尝试在同一网络中连接两台计算机(相同的路由器,SSID;使用内部IP),它可以工作。但是,当尝试使用不同的网络并使用外部IP时,它只是不起作用。
所以,我想知道为什么两个不同的网络会导致这个问题?
提前致谢。
答案 0 :(得分:0)
这听起来更像是一个网络问题,因为您正在使用外部IP地址,我将假设服务器和客户端位于NAT和/或防火墙后面。
在深入研究代码之前,首先检查客户端是否可以通过所需端口访问服务器。一个好的测试方法是使用telnet连接到所述端口上的服务器。要查看成功的连接是什么样的,首先在本地运行相同的测试(如果您没有敏锐的眼光,一些成功看起来像失败的消息)。
假设这是问题,您需要在服务器互联网路由器上设置端口转发规则,并允许任何防火墙上的端口。