【发布时间】:2016-04-27 15:41:10
【问题描述】:
我正在编写一个由两部分组成的应用程序。台式机和安卓。有一个桌面和几个安卓设备。 (不知道计数。)我想用 TCP 在桌面之间通信 android 设备。但是,android 设备不知道桌面的 lan ip 地址。
我认为有两种方法:
1-桌面应用程序在启动时更改本地 IP 地址。所以android设备知道IP地址。 (我用那个ip地址编码)
2-桌面应用程序总是尝试将 IP 地址 (192.168.0.1 - 192.168.0.255) 连接到发送的桌面 IP 地址。当安卓设备连接到网络时,接受连接,然后知道桌面的 ip。
但是这两种方式都有一些问题。
首先,您必须是管理员才能更改局域网IP。所以用java以管理员身份运行命令是一个问题。因为如果我这样做,当用户启动程序时,uac 总是会要求它。
其次,我认为会出现性能问题,因为应用程序总是尝试连接。例如,当 android 设备连接和 dhcp 给它 192.168.0.5 时,但循环在 192.168.0.150 上。所以安卓设备必须等待连接。
还有比这些更好的方法吗?
【问题讨论】:
标签: java android sockets networking