java - 在局域网中查找java服务器

标签 java sockets

如何通过仅向客户端提供 IP 地址的网络部分来找到 LAN 上的 java 服务器? 我可以这样做吗?

Socket sock = new Socket("10.10.10.*", 4444);

最佳答案

我遇到了同样的问题,这是我的解决方法:UDP 广播。 它将允许客户端连接到服务器,而不管其 IP 地址如何,因此您不必硬编码 IP 地址,只需硬编码用于 UDP 的端口(见下文)。

它的工作原理如下:

  1. 服务器监视端口 n
  2. 客户端在他可以到达的所有端口发送数据包
  3. 当消息到达服务器端口时,服务器会向发送者做出响应并包含其自己的 IP 地址
  4. 客户端创建一个套接字并连接到他从服务器获取的 IP 地址

这是对我有帮助的教程:http://michieldemey.be/blog/network-discovery-using-udp-broadcast/

关于java - 在局域网中查找java服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29120550/

相关文章:

java - 在不知道文件持续时间的情况下分割视频

c# - 应该异步执行对 NetworkStream 的写入

sockets - Haskell 'timeout' 函数在应用于 'connect' 时不起作用

.net - 如何避免引发 AddressAlreadyInUseException?

java - JPA 并发问题 "On release of batch it still contained JDBC statements"

java - Spring项目模板不显示模板

java - 玩!框架-向后兼容性

c# - 尝试从NetworkStream读取导致程序崩溃,没有异常或错误

sockets - 为什么 connect() 会间歇性地在 FreeBSD 端口上给出 EINVAL?

java - 从Zxing库获取二维码版本号