当前位置: 首页 > 面试题库 >

从Java检查服务可用性

韩智明
2023-03-14
问题内容

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

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


问题答案:

该代码段发送了一个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;
}

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



 类似资料:
  • 此外,Google Play Services引用库是否会包含在APK导出中,或者这只是为了开发环境?

  • 问题内容: 我正在开发用于访问Redis服务器的Python服务(类)。我想知道如何检查Redis Server是否正在运行。而且如果某种原因我无法连接到它。 这是我的代码的一部分 它打印以下内容 即使我的Redis服务器未运行。 当我发现我的Python代码仅在对redis实例执行 set() 或 get() 时才连接到服务器。 所以我不希望其他服务使用我的类来获得异常说 我想返回正确的消息/错

  • 我正试图从ftp服务器检索一个文件,但我得到如下错误。请你帮帮我好吗 导入java.io.BufferedOutputStream; 导入java.io.file; 导入java.io.FileOutputStream; 导入java.io.IOException; 导入java.io.InputStream; 导入java.io.OutputStream; 导入java.text.DateFor

  • 我正在编写一个Scala程序,它使用通过JNA加载的C++共享对象来调用一些我们用C++编写的自定义文件读取函数,并且不希望维护Java/Scala副本。该程序只需要与Linux兼容。 我的问题是,检查共享对象是否可用的适当方法是什么?如果用户忘记将共享对象添加到他们的LD_LIBRARY_PATH中,那么当他们尝试使用其中的某些功能时,GUI将崩溃。我希望在启动时进行检查,以确保共享对象可用--

  • 问题内容: 我正在开发一个用Swift编写的iOS应用程序,该应用程序可与本地网络上的HTTP服务器通信,并且我正在使用Apple的Reachability类来确定运行HTTP服务器的远程计算机是否在线。这是代码: 问题是无论远程计算机是联机还是脱机, 只要我连接到Wifi网络,总是如此。但是,当我关闭Wifi时,它会导致错误而不是真实。我在这里做错什么了吗,还是Reachability类与Swi

  • 问题内容: 我正在寻找一个允许我查找Windows服务状态以验证该服务已启动并正在运行的库。我查看了Sigar库,但是它是GPL,因此我无法使用它。需要商业或BSD(ish)许可,因为它将被捆绑到商业软件中。 问题答案: 如果没有其他帮助,请尝试考虑稍微不同的方法(当然可以),例如: 有许多免费/非免费软件可以进行监视,包括Windows服务监视(例如nagios,Zabbix等)。这些监视器通常