C#高性能大容量SOCKET并发(六):超时Socket断开(守护线程)和心跳包
来源:互联网 发布:黄金预测软件 编辑:程序博客网 时间:2024/06/05 06:59
http://blog.csdn.net/SQLDebug_Fan/article/details/20465195
守护线程
心跳包在服务端版Socket编程需要处理长时间没有发送数据的Socket,需要在超时多长时间后断开连接,我们需要独立一个线程(DaemonThread)来轮询,在执行断开时,需要把Socket对象锁定,并调用CloseClientSocket来断开连接,具体处理代码如下:
有超时连接,相对应的需要设计心跳包,心跳包用来检测连接和维护连接状态,心跳包的原理是客户端发送一个包给服务器,服务器收到后发一个响应包给客户端,通过检测是否有返回来判断连接是否正常,心跳包实现放在BaseSocketProtocol.DoActive方法中。
具体由各个协议是否决定调用,如控制协议ControlSocketProtocol实现心跳协议如下:DEMO下载地址:http://download.csdn.net/detail/sqldebug_fan/7467745
免责声明:此代码只是为了演示C#完成端口编程,仅用于学习和研究,切勿用于商业用途。水平有限,C#也属于初学,错误在所难免,欢迎指正和指导。邮箱地址:fansheng_hx@163.com。
阅读全文
0 0
- C#高性能大容量SOCKET并发(六):超时Socket断开(守护线程)和心跳包
- C#高性能大容量SOCKET并发(六):超时Socket断开(守护线程)和心跳包
- C#高性能大容量SOCKET并发(五):粘包、分包、解包
- C#高性能大容量SOCKET并发(五):粘包、分包、解包
- C#高性能大容量SOCKET并发(五):粘包、分包、解包
- C#高性能大容量SOCKET并发(九):断点续传
- C#高性能大容量SOCKET并发(十):SocketAsyncEventArgs线程模型
- C#高性能大容量SOCKET并发(十):SocketAsyncEventArgs线程模型
- DELPHI高性能大容量SOCKET并发(四):粘包、分包、解包
- 高性能大容量SOCKET并发(四):粘包、分包、解包
- DELPHI高性能大容量SOCKET并发(四):粘包、分包、解包
- DELPHI高性能大容量SOCKET并发(六):协议字符集
- DELPHI高性能大容量SOCKET并发(八):断点续传
- C#高性能大容量SOCKET并发(一):IOCP完成端口例子介绍
- C#高性能大容量SOCKET并发(二):SocketAsyncEventArgs封装
- C#高性能大容量SOCKET并发(四):缓存设计
- C#高性能大容量SOCKET并发(三):接收、发送
- C#高性能大容量SOCKET并发(一):IOCP完成端口例子介绍
- 【jQuery】slice()方法的使用
- 剑指Offer-根据二叉树的前序和后序遍历重建二叉树
- 逆序的三位数
- 习题6.5
- 生成订单编号,编号格式(由编号类型编码+编号创建平台编码+6位日期+时间戳后4位+4位随机数组成),生成四位或者N位随机数字
- C#高性能大容量SOCKET并发(六):超时Socket断开(守护线程)和心跳包
- 压缩、解压缩及打包归档
- Universal File Explorer privacy policy
- 用for写出n的阶乘
- 暂存
- OpenCV-图像基本操作
- 删除文件无法删除且提示无法访问
- python 函数参数
- 习题6(6.16)