`
baoweiwei
  • 浏览: 125191 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Socket中判断是否处于连接状态的方法

阅读更多
工程里遇到了需要判断Socket是否已经关闭的问题,使用
public boolean isAlive(){
			if(mSocket.equals(null)||mSocket.isClosed()||!mSocket.isConnected()||mSocket.isInputShutdown()||mSocket.isOutputShutdown()){
				MyLog.d("mSocket.isConnected()"+mSocket.isConnected());
				return false;
			}else{
				MyLog.d("mSocket.isConnected()"+mSocket.isConnected());

				return true;

			}
		}

毫无作用,随后查看了网上先关解决办法,发现Socket中有一个方法void sendUrgentData(0xFF)当对方SO_OOBINLINE属性没有打开时,就会自动舍弃这个字节,而SO_OOBINLINE属性默认情况下就是关闭的,但是只要能够发送到对方Socket,sendUrgentData(0xFF)方法就不会报错,只要catch一下IOException就OK了,当对方关掉了Socket之后就会进入catch,问题迎刃而解。
try{
						     
mSocket.sendUrgentData(0xFF);

}catch(IOException e){
Log.d(e+":要关掉了阿 !");
	mSocket.close();
						
						
}

当socket断掉之后,抛出java.net.socketexception broken pipe异常,没有问题。
分享到:
评论

相关推荐

    c#编写的基于Socket的异步通信系统封装DLL--SanNiuSignal.DLL

    二:ITxServer.sendMessage 发送前先判断此IPEndPoint客户端是否在线;因为如果不在线等情况发生;此方法没有任何消息产生;如 果发送成功并且对方已经收到;会触发发送成功的事件; 三:用户可以通过ITxServer....

    C#全能速查宝典

    2.3.3 Checked属性——复选框是否处于选中状态 190 2.3.4 CheckedChanged事件——Checked属性更改时发生 191 2.3.5 CheckedListBox控件——复选框列表控件 191 2.3.6 CheckState属性——设置CheckBox控件的状态 193 ...

    一个面向局域网、互联网的即时聊天程序源代码

    3.一个用户登录成功后,服务器会向所有连接在其上的用户(无论该用户处于何种状态)发送一个用户上线状态通知。其它用户接受该通知后根据情况自动决定是否进行更新。 发送/接收信息基本原理 1.当用户点击...

    JAVA面试题最全集

    判断一个文件或目录是否存在 如何读写文件 7.Java多态的实现(继承、重载、覆盖) 8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。 9.Java中访问数据库的步骤,Statement和...

    java源码包2

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    C/C++笔试题(附答案,华为面试题系列)

    1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分) int a = 4; (A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++); a = ? 答:C错误,左侧不是一个有效变量,不能赋值,可...

    java源码包---java 源码 大量 实例

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    java源码包3

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    java源码包4

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA上百实例源码以及开源项目源代码

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    JAVA上百实例源码以及开源项目

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    入门学习Linux常用必会60个命令实例详解doc/txt

    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...

    【RT-Thread作品秀】多功能气压计设计-电路方案

    不仅如此,为增加任务在运行状态中的时间和提高每个任务响应的快慢速度,故使用线程中重要的两个属性即线程优先级和时间片,并根据应用的具体环境和软实时性的要求将每个任务赋予各自该具有的任务优先级和时间片。...

    PT80-NEAT开发指南v1.1

    NEAT 开 发 指南 文档 适用于 PT80 系列 移动数据终端 版本记录 版本号 版本描述 发布日期 V 1.0 初始版本。 2012-04-12 V1.1 修改前三章内容 2012-09-25 目录 第一章 关于本手册.....................................

Global site tag (gtag.js) - Google Analytics