2016-11-06 97 views
-3

我必须将数据推到服务器,如何检查服务器是否活动以及使用Java检查服务器是否活动以及使用Java

  • FYI接受来自特定端口的数据接收特定的端口要求,通过几个去它使用套接字的帖子尝试时,使用套接字做工作
  • ,在服务器关闭的响应时间为12秒
  • 请迪建议最好的方式,通过

得到谢谢

回答

-1

可以用户这种方法(使用套接字):

public static boolean checkServerAvailability(String host, int port, int timeout) { 
    try (Socket socket = new Socket()) { 
     socket.connect(new InetSocketAddress(host, port), timeout); 
     return true; 
    } catch (IOException e) { 
     return false; // time is out , or the server is unreachable 
    } 
} 

可以如果该服务器是远程

boolean reachable = InetAddress.getByName(hostname or IP).isReachable(); 

也可以使用HTTP

使用此
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); 
connection.setRequestMethod("HEAD"); 
int responseCode = connection.getResponseCode(); 
if (responseCode != 200) { 
    // there is a problem with connection 
} 
+0

'isReachable()'不会测试服务器是否正在接受连接,并且您的HTTP代码没有解决12秒超时问题。 – EJP

+0

我提到isReachable()用于检查服务器是否为live,如果它是远程服务器,并且关于HTTP用于检查连接,则12秒可能是服务器上的配置或其他任何内容,因此HTTP代码就像一个ping。 –

+0

不,你没有。你发布了一个关于'如果服务器是远程的'的不完整的句子,这并不意味着什么。 HTTP代码与OP已经完成的效果没有什么不同。 – EJP

相关问题