我需要检查服务是否在特定 IP:PORT/service/ 上运行,如果没有则回退到另一个。我在应用程序的一个地方执行此操作。
如果它还活着,有没有办法只 PING 它而不是尝试向它发送有效请求并捕获可能的 IO 错误?
我需要检查服务是否在特定 IP:PORT/service/ 上运行,如果没有则回退到另一个。我在应用程序的一个地方执行此操作。
如果它还活着,有没有办法只 PING 它而不是尝试向它发送有效请求并捕获可能的 IO 错误?
我解决这个问题的方法是:
我们在后端实现了一个 Ping 方法,该方法/service/ping
以 status 响应HTTP_OK (200)
。我遍历每个需要测试的 IP 地址,设置一个非常短的连接超时,看看我是否到达一个我收到成功连接的地址(返回的状态为 200)。
我必须通过本地 wifi 网络上的所有 IP 并找到我的本地网络服务的托管位置。由于设备连接到同一个 wifi 网络,我设置了 200 毫秒的连接超时,这足以确保检查速度很快。
请参阅已接受的答案以检查 Web 服务可用性,如果 Web 服务不存在(其他情况),则尝试回退连接