根据以下文章,我可以在 Java 中创建一个简单的套接字来检查服务的可用性。但是,需要一个端口号来检查服务。
但是,如果我只有在 /etc/services 中定义的服务名称,我如何检查服务可用性?我必须首先通过服务名称获取端口号吗?参考以下问题:
我期待一些更原生的方式让操作系统为我翻译服务名称,而不是我自己用 Java 翻译它。谢谢。
根据以下文章,我可以在 Java 中创建一个简单的套接字来检查服务的可用性。但是,需要一个端口号来检查服务。
但是,如果我只有在 /etc/services 中定义的服务名称,我如何检查服务可用性?我必须首先通过服务名称获取端口号吗?参考以下问题:
我期待一些更原生的方式让操作系统为我翻译服务名称,而不是我自己用 Java 翻译它。谢谢。
如果您真的不想解析/etc/services
,我担心您正在查看getservbyname()的一些 JNI 或JNA实现。
我可能会从解析服务文件开始,如果这还不够好,请查看本机实现。抽象/包装它,以便将一种解决方案换成另一种解决方案并不是那么痛苦。