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