我正在开发Java应用程序,人们可以使用它在网络上的设备之间发送数据。每个安装了代码的设备都在运行TCP服务器,并且正在侦听某个端口。现在,我希望用户可以选择“扫描”网络中运行我的代码的其他设备,并在屏幕上显示一个列表,以选择要将数据发送到的设备。
如何找到正在运行我的代码的设备?
我只能想到两种方式:
所以我请问您,有没有更好的方法来实现这一目标?
谢谢。
答案 0 :(得分:1)
我这样做的方法是通过多播广播一个周期性的“心跳”,并进行监听。如今,最佳实践是使用类似jmDNS(https://github.com/openhab/jmdns)之类的多播DNS。