我有4个服务器放在4个不同的省份(通过IP地址访问)。发布了一个Java应用程序,供用户连接到这四个服务器之一。现在我想通过使用java代码(在客户端)确定4个以上服务器中的哪个服务器是快速的。
有人可以帮我提一些关于如何实现这个目标的好主意吗?
答案 0 :(得分:1)
您可以查看此主题:Ping with java以查找哪个服务器响应最快。从那里我认为你可以选择合适的人!
但请注意,它将使用ICMP ECHO / REQUEST,并且通常需要root权限。
线程中的代码有点奇怪,我用这种方式重写:
long currentTime = System.currentTimeMillis();
boolean isPinged;
String ipAddress = "192.168.1.1";
int maxRoundTripTime= 2000
try {
isPinged = InetAddress.getByName(ipAdress).isReachable(maxRoundTripTime);
currentTime = System.currentTimeMillis() - currentTime;
if (isPinged) {
System.out.println("pinged successfully in " + currentTime + "millisecond");
} else {
System.out.println("Ping failed.");
}
} catch (IOException e) {
e.printStackTrace();
}