0
我想在我的网络中查找我的服务器,当时我不知道该IP。 所以这是我的代码,但它需要很长的测试所有IP(!):Java - 在网络中查找服务器
for (int j = 1; j < 255; j++) {
for (int i = 1; i < 255; i++) {
String iIPv4 = "192.168." + j + ".";
try {
Socket socket = new Socket();
SocketAddress address = new InetSocketAddress(iIPv4 + i, 2652);
socket.connect(address, 5);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String fromServer;
while ((fromServer = in.readLine()) != null) {
if (fromServer.equals("Connected to CC3000")) {
System.out.println("CC3000 found! : " + iIPv4 + i);
return iIPv4 + i;
}
}
} catch (UnknownHostException e) {
} catch (IOException e) {
}
}
}
所以,什么更好的方法来查找服务器?
问候
如果您知道服务器的主机名和域,可以直接使用它。 –
这将需要很长时间!您正试图对每个主机执行TCP连接。让服务器监听广播/多播数据包并做出响应(假设本地局域网 - 类似于UPnP的工作原理),怎么办?失败的DNS? – chrixm
@RomanC我知道,但我想让它变得动态。 – maysi