0
我想用java套接字连接不同网络上的两个Android设备。一台设备将充当服务器,另一台充当客户端。服务器必须发布哪个地址才能让客户端连接到它?使用Java套接字,连接到另一个网络上的其他设备的正确地址是什么?
java.net
具有InetAddress
类,方法getLocalHost()
提供了一个带有本地主机信息(主机名,本地主机地址)的实例。如果我在我的机器上运行它,我给出的地址是192.168.1.101。这是服务器设备必须发布的地址才能让客户端设备连接到它吗?我假设没有,因为它是一个本地地址。那么,我在哪里可以得到每个设备的正确地址?
我试过这种方式,它给出了与InetAddress相同的地址。 –
在这种情况下,您的设备已连接到某个使用NAT的WiFi路由器。您必须为设备提供全球IP或设置路由器以转发您需要连接到Android设备的端口。然后,您将使用路由器的(全局)地址连接到您的Android服务器。总而言之,这不是一个好主意,除非是用于测试/实验。 –