java判断socket是否断开的方法

互联网 19-12-27

socket类中有一个方法sendUrgentData,它会往输出流发送一个字节的数据,只要对方Socket的SO_OOBINLINE属性没有打开,就会自动舍弃这个字节(在Java 中是抛出异常),而SO_OOBINLINE属性默认情况下就是关闭的。

java判断远端是否断开了连接:

try{        socket.sendUrgentData(0xFF);  }catch(Exception ex){        reconnect();  }

用ping实现

package com.csdn.test;    import java.io.BufferedReader;    import java.io.IOException;    import java.io.InputStreamReader;    public class test {    static BufferedReader bufferedReader;    public static void main(String[] args) throws IOException {    try {    Process process = Runtime.getRuntime().exec("ping 192.168.1.104");//判断是否连接的IP;    bufferedReader = new BufferedReader(new InputStreamReader(process    .getInputStream()));    String connectionStr = "";    while ((connectionStr = bufferedReader.readLine()) != null) {    System.out.println(connectionStr);    }    } catch (IOException e) {    e.printStackTrace();    } finally {    bufferedReader.close();    }    }    }

ping的方法有个严重的BUG,就是你只能判断对方是否连接网络,而不能判断客户端是否开启。

更多java知识请关注java基础教程栏目。

以上就是java判断socket是否断开的方法的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: socket
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:swoole属于是插件吗

相关资讯