gpt4 book ai didi

java - 如何查找网络上特定桌面的IP地址?

转载 作者:行者123 更新时间:2023-12-01 09:59:54 24 4
gpt4 key购买 nike

我正在编写一个由两部分组成的应用程序。桌面版和安卓版。有一台桌面和几台 Android 设备。 (不知道计数。)我想使用 TCP 在桌面之间通信 Android 设备。但是,Android 设备不知道桌面的 LAN IP 地址。

我想了两种方法:

1-桌面应用程序在启动时更改本地 IP 地址。所以android设备知道ip地址。 (我用那个IP地址编码)

2-桌面应用程序始终尝试将 IP 地址 (192.168.0.1 - 192.168.0.255) 连接到发送桌面的 IP 地址。当 Android 设备连接到网络时接受连接,然后知道桌面的 IP。

但是这两种方式都存在一些问题。

首先,您必须是管理员才能更改 LAN IP。所以用java以管理员身份运行命令是一个问题。因为如果我这样做,当用户启动程序时,uac 总是会要求它。

其次,我认为会出现性能问题,因为应用程序总是尝试连接。除此之外,当 Android 设备连接并且 dhcp 给它 192.168.0.5 时,但循环位于 192.168.0.150 上。所以android设备必须等待连接。

还有比这些更好的方法吗?

最佳答案

看看这篇文章Network discovery in Java using multicasting我认为这将是最好的方法。

  1. 服务器将监听来自客户端的广播消息
  2. 客户端发送广播请求询问服务器IP
  3. 服务器接收请求并回复服务器 IP。

关于java - 如何查找网络上特定桌面的IP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36894588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com