我对计算机之间的网络连接有疑问。 我做了一些应用程序,消息通过Internet(通过套接字)在两个设备之间建立连接。但是,强大的条件是必须将两个设备连接到同一网络。
任何人都可以告诉我如何在两台计算机之间使用套接字创建通信,即使它们连接到不同的netwkorks?
提前谢谢。
答案 0 :(得分:0)
这是一个关于如何使用套接字和一般网络的精彩教程 (在java中)
http://www.thenewboston.org/watch.php?cat=25&number=38
为了通过互联网在两个不同的网络之间进行通信,您需要执行一项名为端口转发的操作。这样做的是,当您的网络的公共IP收到带有特定端口号的数据包时。路由器知道将该数据包发送到哪个本地IP。
如果你不向前移动并接收一些数据。路由器会知道发送数据包的位置。因此它会丢弃它,这意味着其他人无法连接到你。
您只需要将服务器端口转发到网络(使用我链接的示例)。如何做到这一点是登录路由器,并说服务器使用的端口转发到托管服务器的PC的IP。
在另一个网络(客户端)上,您需要更改客户端连接的IP地址。该IP地址必须是您服务器网络的公共IP 。您可以通过连接到服务器的网络找到它,然后转到:http://www.whatsmyip.org/。请注意,公共IP地址可能随时间变化。
希望这有帮助!
-Kad