java socket判断是否连接成功,java tcp服务端如何判断连接断开
您可以在Socket类中使用sendUrgentData方法,该方法将向输出流发送一个字节的数据。只要另一个套接字的so _ oobbinline属性没有打开,这个字节就会被自动丢弃,默认情况下so _ oobbinline属性是关闭的。
因此,下面的代码可以确定远端是否断开连接:
尝试{
socket . sendurgentdata(0x ff);
}catch(Exception ex){
reconnect();
}(免费学习视频教程分享:java视频教程)
使用ping:
包com . csdn . test;
导入Java . io . buffered reader;
导入Java . io . io exception;
导入Java . io . inputstreamreader;
公共类测试{
静态BufferedReader bufferedReader
公共静态void main(String[] args)引发IOException {
尝试{
process process=runtime . get runtime()。exec( ping 192 . 168 . 1 . 104 );//确定IP是否连接;
buffered reader=new buffered reader(new InputStreamReader(process . getinputstream()));
字符串连接str=“”;
while((connectionStr=buffered reader . readline())!=null) {
system . out . println(connectionStr);
}
} catch (IOException e) {
e . printstacktrace();
}最后{
buffered reader . close();
}
}
}注意:这种方法有一个严重的不足,就是你只能判断对方是否联网,而不能判断客户端是否开机。
事实上,通过socket.getoutstream和socket.getinputstream流向客户端发送和接收信息时,如果socket没有连接,就会抛出异常,这也是Java要求所有网络编程都要用try编写的原因,所以只需要用catch编写客户端出口处理即可。
相关文章及教程推荐:java入门教程以上是java判断socket服务器是否断网的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。