我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java判断socket服务端是否断开连接

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java判断socket服务端是否断开连接

可以使用socket类中的sendUrgentData方法,该方法会往输出流发送一个字节的数据,只要对方Socket的SO_OOBINLINE属性没有打开,就会自动舍弃这个字节,而SO_OOBINLINE属性默认情况下就是关闭的。

于是,下面一段代码就可以判断远端是否断开了连接:

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

(免费学习视频教程分享:java视频教程)

用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();
		}
	}
}

注意:此方法有一个严重的不足之处,就是你只能判断对方是否连接网络,而不能判断客户端是否开启。

其实在通过socket.getoutstream和socket.getinputstream流对客户端发送、接受信息时如果socket没连接上是会抛出异常的,这也就是为什么Java会要求网络编程都要写在try里面,所以只要在catch里面写入客户端退出的处理就行了。

相关文章教程推荐:java入门教程

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java判断socket服务端是否断开连接

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java判断socket服务端是否断开连接

可以使用socket类中的sendUrgentData方法,该方法会往输出流发送一个字节的数据,只要对方Socket的SO_OOBINLINE属性没有打开,就会自动舍弃这个字节,而SO_OOBINLINE属性默认情况下就是关闭的。于是,下面一段代码就可以判断远
java判断socket服务端是否断开连接
2016-07-10

java判断socket是否连接

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

java判断socket是否断开的方法

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

java怎么判断socket连接状态

在Java中,可以使用Socket类的isConnected()方法来判断一个Socket对象的连接状态。isConnected()方法返回一个boolean值,如果Socket对象已经连接到另一个主机,则返回true,否则返回false。
2023-10-10

Android 判断是否有外网连接

Android里判断是否可以上网,常用的是如下方法: private boolean isNetworkAvailable() {// 得到网络连接信息ConnectivityManage
2022-06-06

Android判断网络连接是否可用

ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); //判断网络连接类型,此处为wifiNetworkInf
2022-06-06

Android编程判断是否连接网络的方法【WiFi及3G判断】

本文实例讲述了Android编程判断是否连接网络的方法。分享给大家供大家参考,具体如下: 判断wifi网络是否链接:public static boolean isWiFiActive(Context inContext) {WifiMan
2022-06-06

java如何判断http地址是否连通

本篇文章为大家展示了java如何判断http地址是否连通,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 下面代码看下java判断http地址是否连通private boolean isOk(Stri
2023-06-22

Android 判断是否连接成功了指定wifi

最近在做wifi的相关的东西,打印WifiInfo的时候 无意间发现一个参数,改参数可以查看是否连接成功了指定wifi,但是这是隐藏的,遂将其反射之。代码如下://通过反射的方式去判断wifi是否已经连接上,并且可以开始传输数据privat
2022-06-06

怎么判断Git和GitLab是否连接成功

今天小编给大家分享一下怎么判断Git和GitLab是否连接成功的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、GitLab
2023-07-05

Android中判断网络是否连接实例详解

Android中判断网络是否连接实例详解 在android中,如何监测网络的状态呢,这个有的时候也是十分重要的,方法如下:public class ConnectionDetector { private Context _context;
2022-06-06

云服务器断开连接

如果您的云服务器断开连接了,通常有以下几种可能的原因:数据损坏:如果您的云服务器上没有足够的存储空间,您可以检查云服务器的配置并尝试修复损坏的连接。网络连接问题:如果您的网络连接不稳定或者没有可用的带宽,您可以尝试重新启动云服务器以解决问题。如果仍然无法解决问题,建议您联系云服务器提供商以获取进一步帮助。系统故障:如果您的云服务器存在内部系统故障,如网络连接问题或内存泄漏,那么可能需要重
2023-10-26

Android编程判断网络连接是否可用的方法

本文实例讲述了Android编程判断网络连接是否可用的方法。分享给大家供大家参考,具体如下: 为了提高用户体验,我们在开发 android 应用的过程需要联网获取数据的时候我们首先要做的一步就是: 1.判断当前手机是否打开了网络 2.打开了
2022-06-06

连接到 MySQL 服务器和断开连接

调用‘mysql’时需要提供MySQL用户名。接下来必须输入密码。如果服务器运行的系统与用户登录的系统不同,则尝试登录时还需要提供主机名。建议联系管理员找出连接到服务器所需的参数。确定参数后,需要使用以下几行来连接到服务器 -shell>
2023-10-22

腾讯云服务器总是断开连接

很抱歉听到您遇到这样的问题。腾讯云服务器可能会遇到连接断开的情况,这是正常情况。以下是一些可能有帮助的步骤:1.检查您的网络连接,确保网络连接正常。您可以检查您的互联网连接,确保网络连接正常工作。2.确认您的数据中心网络连接正常,例如GPT4协议。如果腾讯云服务器不支持GPT4协议,则可能无法连接到网络。3.尝试重新启动您的云服务器,看看是否能够重新连接。有时服务器启动时会发生错误,这可能
2023-10-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录