繁体   English   中英

通过wifi连接Java套接字?

[英]Connecting Java sockets over wifi?

我正在尝试使用javafx和java.net包创建一个简单的消息传递程序。 现在我有一个客户端类和服务器类,使用随机端口上的serversocket和客户端套接字进行连接。 如果我在同一台计算机上运行它们或在不同的计算机上运行它们,只要它们都连接到同一个wifi并且我指定了ip地址,它就可以工作。

但是,如果两台计算机没有连接到同一个wifi,则它不起作用。 如何使其成功? 对不起,我是java.net和网络新手。

您需要遍历路由器的NAT 这可以通过以下方式之一完成:

如果路由器支持它,您可以使用像这样的UPnP库。 UPnP基本上要求允许路由器与端口上的外部网络通信。

然而,由于并非所有路由器都支持UPnP,您可以尝试像STUN一样的端口打孔协议,还有可用于Java的

如果这不起作用,则需要使用TURN等协议通过您自己的服务器中继网络流量。

有ICE协议,它结合了前两种协议。 在java中,这可以通过像ICE4J这样的库来完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM