博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Socket心跳包理解历程
阅读量:5875 次
发布时间:2019-06-19

本文共 508 字,大约阅读时间需要 1 分钟。

Socket心跳包理解历程   

2009-03-28 23:35:55|  分类: |  标签:  |字号 

         去年开始接触C/S类型程序,这里就免不了有SOCKET编程,项目需要使用长连接,那么就需要心跳机制。习惯性GOOGLE了下,一个发送一个接收,检测。感觉在服务器上发送挺方便的,于是就在服务器上往客户端上分发,客户端检测。那么如果连接服务器比较多的话,检测就多了,客户端做起来又有些麻烦,后来想到了双向互发。可惜这样也不行,SOCKET使用发送去检测是不可靠的,最后还是使用了客户端发送,服务器检测这种模式。

        到现在,对服务器的编程支离破碎也明白了一些,经验太少,遇到的问题不够全面。处理问题能力也不够,还需要多多的学习,毕竟这些东西比一般的程序要求要高。

         最后提下.NET的SOCKET连接超时问题,一般在LINUX下,处理超时都先设置非阻塞模式,然后用SELECT去判断超时,但在C#中,如果使用非阻塞模式,那么就直接出异常。开始以为.NET不能直接实现了,后来发现,可以捕获这个异常,然后维护一个连接标志。为了实现这个目标,于是就继承了SOCKET类。重写了连接和关闭方法。

        下一步重点放在服务结构学习方面。

转载地址:http://wbzix.baihongyu.com/

你可能感兴趣的文章
Y2161 Hibernate第三次考试 2016年8月18日 试卷分析
查看>>
Angular CLI 使用教程指南参考
查看>>
PHP 程序员的技术成长规划
查看>>
用于守护进程的出错处理函数
查看>>
AppCan可以视为Rexsee的存活版
查看>>
【转】SQL SERVER 2005 数据库状态为“可疑”的解决方法
查看>>
Revit API 创建带箭头的标注
查看>>
jetty启动报错Unsupported major.minor version 51.0
查看>>
Xamarin.Android开发实践(七)
查看>>
彩色图像上执行Mean Shift迭代搜索目标 ,维加权直方图 + 巴氏系数 + Mean Shift迭代...
查看>>
深入理解JavaScript系列
查看>>
strtol 函数用法
查看>>
eclipse内存溢出设置
查看>>
搭建jenkins环境(linux操作系统)
查看>>
VS 2015 GIT操作使用说明
查看>>
上海办理房产税变更
查看>>
每天一个linux命令(52):scp命令
查看>>
CMOS Sensor Interface(CSI)
查看>>
linq中的contains条件
查看>>
HDU 5590 ZYB's Biology 水题
查看>>