use*_*995 6 java android network-programming
我有一个需要将一些数据发送到本地网络服务器的Java/Android应用程序.问题是服务器的IP地址是动态的,所以找到它的唯一方法是通过它的MAC地址查找.这在Java中可行吗?你能看到其他选择吗?
这在Java中可能吗?
不是纯Java。
没有直接将 MAC 地址映射到 IP 地址的服务。主计算机操作系统的网络堆栈使用 ARP 协议和(在 Linux/UNIX 上)ARP 守护程序将 IP 地址映射到 MAC 地址。AFAIK,不可能从 Java 使用 ARP 协议。
你能做的最好的事情(在 Linux 上)就是运行“arpd -l”作为外部命令。这将以您的 Java 应用程序可以读取和解析的明确定义的格式转储守护程序的 ARP 映射。如果您的服务器在本地网络上处于活动状态,则其 MAC 地址将与相应的 IP 地址一起显示。但如果它不在本地网络上,那么它的 ARP 广播将不会到达您的计算机,因此守护进程的表中不会有条目。
最好为您的服务器分配一个静态 IP 地址……和一个 DNS 地址。另一种可能性是让服务器使用动态 DNS服务自行注册。
| 归档时间: |
|
| 查看次数: |
3418 次 |
| 最近记录: |