我正在编写由两部分组成的应用程序。桌面和Android。有一个桌面和几个Android设备。 (不知道计数。)我想在桌面与TCP之间通信android设备。但是,android设备不知道桌面的lan ip地址。如何在网络上查找特定桌面的IP地址?
我thouht 2种方式:
1 - 桌面应用程序上的改变开始的本地IP地址。所以android设备知道ip地址。 (我使用该IP地址编码)
2 - 桌面应用程序总是尝试将IP地址(192.168.0.1 - 192.168.0.255)连接到已发送桌面的IP地址。当Android设备连接到网络接受连接,然后知道桌面的IP。
但两种方式都存在一些问题。
首先,您必须是管理员才能更改lan ip。所以用java运行命令admin是一个问题。因为如果我这样做,当用户启动程序时,uac总是要求它。
第二,我认为会有性能问题,因为应用程序总是尝试连接。解开这个,当android设备连接和dhcp给它192.168.0.5,但循环是在192.168.0.150。所以android设备必须等待连接。
有没有比这更好的方法?
如果有错请纠正。桌面应用程序会为ex设置一个主机名。 “blabla”和所有android设备将尝试连接“blabla:port”。对? –