- 浏览: 19521 次
最新评论
C#中判断socket是否已断开的方法
2011年09月07日
Socket类的Connected属性只表示最后一次I/O操作的状态,如果这之后[连接的另一方]断开了,它还一直返回true, 除非你再通过socket来发送数据。所以通过个属性来判断是行不通的!
事实上,Socket.Receive()方法在[连接的另一方]断开时,它返回结果告知只读了0个字节,我们可以籍由这一点来找出答案。这个问答(http://www.dotnet247.com/247reference/msgs/36/182526.aspx)给出了好的解决方案:可以调用Socket.Poll() 方法,为该方法的第二个参数传入SelectRead 值,如果该方法返回true, 则可以再由Socket.Receive()方法的返回值来判断,
代码:
Socket s = new Socket(..);
if (s.Poll(-1, SelectMode.SelectRead))
{
int nRead = s.Receive(
);
if (nRead == 0)
{
//socket连接已断开
}
}
发表评论
-
三极管场效应参数全集
2012-01-20 11:54 1441三极管场效应参数全集 2012年01月18日 品 名 ... -
2011-11-04
2012-01-20 11:54 5382011-11-04 2011年01月19日 316不锈 ... -
2011-09-03
2012-01-20 11:54 7322011-09-03 2011年09月03日 本篇是制作 ... -
“书香校园”读书知识竞赛试题(四)
2012-01-20 11:54 835“书香校园”读书知识竞赛试题(四) 2010年11月01日 ... -
四(4)寒假作业
2012-01-19 16:43 644四(4)寒假作业 2012年01 ... -
《墨水心》(Inkheart)
2012-01-19 16:43 649《墨水心》(Inkheart) 2012年01月12日 ... -
只为了给那些想学英语的人
2012-01-19 16:43 374只为了给那些想学英语 ... -
【转】大学英语学习之我见――给大一新生的学习建议
2012-01-19 16:43 584【转】大学英语学习之 ... -
研究报告
2012-01-19 16:43 637研究报告 2010年06月10日 ... -
Socket与拔掉网线
2012-01-17 06:28 3109Socket与拔掉网线 2011年0 ... -
使用 Socket 通信实现 FTP 客户端程序
2012-01-17 06:28 856使用 Socket 通信实现 FTP 客户端程序 2011年 ... -
C++ SOCKET常用转换函数
2012-01-17 06:28 1324C++ SOCKET常用转换函数 2 ... -
socket性能优化(上)
2012-01-17 06:28 873socket性能优化(上) 2012 ... -
学习英语的四十二个要决(1)
2012-01-16 05:09 610学习英语的四十二个要决(1) 2009年06月25日 学 ... -
学好英语的20个经典要诀
2012-01-16 05:09 635学好英语的20个经典要 ... -
小升初学习英语的几个技巧分享
2012-01-16 05:09 649小升初学习英语的几个技巧分享 2011年12月29日 小 ... -
用TTS技术开发具有文本朗读功能的应用程序(转)之一
2012-01-16 05:09 966用TTS技术开发具有文本 ... -
想学好英文吗?
2012-01-16 05:09 555想学好英文吗? 2010年11月20日 想
相关推荐
C#中用Socket实现判断网络是否断开的实例[参照].pdf
c#socket断开重新连接,以及循环接收数据,c#socket断开重新连接,以及循环接收数据,
.NET C#SOCKET通信DEMO,断开连接事件捕捉,重连功能。 亲测可用
文档内有客户端和服务端socket,实际项目中只用到了客户端,会比较详细,支持断开重连
下面来介绍判断非阻塞SOCKET是否已经断开的几种方法: 注意要区分不同操作系统分别进行测试, 包括WINDOWS, LINUX和UNIX会各有不同。 在WINDOWS下比较简单,可以使用FD_CLOSE事件判断SOCKET是否已经断开 view ...
今天讲一下网络方面的知识,希望对你的学习提供很好的帮助。
C#socket TCP是面向连接的通信,所以在通信之前,客户端与服务器端必须通过三次握手建立连接,然后在通信完毕,还要通过四次挥手断开连接
C#写的socket断开重连的代码,里面有心跳的设置,发送接收的函数
如何判断SOCKET通信中,客户端在10s内未发送数据或者未收到服务器发送的数据,自动
在C#中利用Keep-Alive处理Socket网络异常断开的方法[参考].pdf
C# socket通信(免积分下载),本项目有三个部分:1、客户端(winform);2、服务端(winform);3、socket功能类库模块(其他项目也可以引用),socket类库模块功能齐全,只需调用其中方法即可,复用性较强,代码...
c#socket异步编程及断线重连。并怎样实现循环接受服务器的命令并处理。
c# WinForm 使用Socket实现简单实现服务端与客户端连接,实现消息发送,服务器断开后,重启。客户端重连
c#Socket客户端断线重连封装类(可直接调用).rar
经典错误1 无法访问已释放的对象。 对象名:“System.Net.Sockets.Socket”;解决方案 经典错误2 "远程主机强迫关闭了一个现有的连接。"解决方案
实时检测网络的通断情况,以实现网络的无缝重连
C#socket通信(客户端和服务端),采用VS2013开发,打开既可以使用运行,每行代码都有注释讲解,对于想要快速掌握socket编程的学者很实用
C#写的基于Socket的简单聊天室包括客户端和服务器。 本程序为基于C/S模式的网络聊天程序,采用TCP/IP协议,根据“WinSockets规范“编写而成。它实现了聊天的基本功能,支持多个客户端以不同的用户名同时登录服务器,...
SuperSocket写Socket客户端(连接,重连,接收处理数据)