TCP - JAVA - 如何找到本地网络上的服务器?

TCP - JAVA - How to find a server on a local network?

我有两个 android 设备,它们连接到同一个 WiFi 网络。一台设备充当服务器,另一台设备充当客户端。我不知道服务器的 ip,但我知道端口号。如何找到服务器并连接到它?

一种选择是使用 UDP 广播。您的服务器正在等待特定端口和网络接口上的请求。然后你的客户端发送一个针对广播地址的虚拟请求(例如 192.168.1.255),一旦服务器回复你就可以获得服务器的 ip 地址。

完成后,客户端可以根据需要关闭 udp 套接字连接并启动 tcp 通信。

一个好的开始可能是这样的:http://michieldemey.be/blog/network-discovery-using-udp-broadcast/

希望对您有所帮助