小编典典

从Java检查服务可用性

java

如何使用Java检查服务?我找到了这篇文章,但这仅用于检查主机名。

我的问题是如何检查端口x上的服务是否在运行,例如ex myhostname:8080或or
myhostname:8099,我可能正在这些端口上运行服务n或p,但是如果手动进行操作,则可以通过网络看到它,如何在java中达到相同的效果?


阅读 292

收藏
2020-11-26

共1个答案

小编典典

该代码段发送了一个ping,您无法对其进行操作以实现所需的功能。只需打开一个套接字并捕获任何异常。

bool success = true;
try {
  (new Socket(host, port)).close();
} catch (UnknownHostException e) {
  // unknown host
  success = false;
} catch (IOException e) {
  // io exception, service probably not running
  success = false;
}

如果需要检测正在运行的服务,则需要读取发送的第一个字节,并将其与您知道每个服务应发送的字节进行比较。这可能需要来回几次传递。

2020-11-26