在局域网上找一个java服务器

Chi*_*ips 0 java sockets

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

Socket sock = new Socket("10.10.10.*", 4444);
Run Code Online (Sandbox Code Playgroud)

Yan*_*eun 5

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

下面是它的工作原理 :

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

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

  • 如果 LAN 禁止广播,则可能会出现问题。虽然带有普通集线器/交换机的简单点对点网络可以允许(依赖于设备),但您可能会在受管理的域网络中遇到问题。 (2认同)