Java 使用 Socket 判断某服务能否连通
Posted 农名工进城
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 使用 Socket 判断某服务能否连通相关的知识,希望对你有一定的参考价值。
业务场景:判断socket server在否在线,在线返回true,不在线返回false
package com.thinkgem.wlw.modules.test.socketdemo; import java.io.IOException; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; import java.net.SocketTimeoutException; import java.net.UnknownHostException; /** * @Author zhouhe * @Date 2019/10/18 14:24 */ public class SocketUtils { /** * 判断某服务能否连通 * * @param host host * @param port port * @return boolean */ public static boolean isRunning(String host, int port) { Socket sClient = null; try { SocketAddress saAdd = new InetSocketAddress(host.trim(), port); sClient = new Socket(); sClient.connect(saAdd, 3000); //设置超时 3s } catch (UnknownHostException e) { return false; } catch (SocketTimeoutException e) { return false; } catch (IOException e) { return false; } catch (Exception e) { return false; } finally { try { if (sClient != null) { sClient.close(); } } catch (Exception e) { } } return true; } }
以上是关于Java 使用 Socket 判断某服务能否连通的主要内容,如果未能解决你的问题,请参考以下文章
Java中使用Socket连接判断Inputstream结束,java tcp socket服务端,python tcp socket客户端
linux C语言 socket如何判断socket_fd对应的socket是否断开?(是否连通是否正常连接)recv()tcp_info TCP_ESTABLISHEDkeepalive