一个心跳保活类的设计—改进
来源:互联网 发布:一般网络作家收入 编辑:程序博客网 时间:2024/05/17 01:04
前面设计了一个心跳保活类,如果它仅仅用作保活机制,那未免有点太大材小用了,因此可以考虑使用它来传递消息,目前只要服务器有回复就说明服务仍然在,但是我设计出了CON_RESULT结构:
typedef struct{ //保存心跳反馈的结果
int m_iHeartBeat;
int m_iStatus;
}CON_RESULT,*PCON_RESULT;
为何不将这个结构协议化呢?也就是说让服务器直接发送这个结构过来,这个结构中携带一些信息,其实完全没有必要用两个字段,一个字段就可以说明问题,用位域来表示就可以了,也就是说直接用一个int类型的整数就可以说明问题,服务器传来一个int类型的整型数据,按照事先的协商每一个位表示一个消息就可以了,典型的应用如下:服务器监听多个端口,比如8000,8001,8002,8003,其中8000为心跳端口,但是客户端不能以8000端口的连接状况来确定整个服务器的状态,比如8000心跳端口虽然保持连接但是不能保证别的端口保持连接,客户端这边的自然不必说,如果自己断开自己肯定知道,服务器那边断开了怎么知道呢?当然可以通过socket接口函数知道,如果不用socket机制的话,就可以采用服务器主动通知的方式告诉客户端,这个通知数据包就通过心跳包来传递。服务器那边的典型设置就是一个端口开一个线程,所有的端口的连接状态通过一个静态的或者全局的变量容器来维持,服务器在回复心跳包的时候将各个端口的连接状态作为数据回复给客户端,具体哪个位或者结构的哪个字段代表哪个端口就由自定义协议协商规定了,这样一来,客户端通过心跳包的回复数据就可以得知服务器的各个端口的连接情况,根据不同的状况做出不同的善后处理工作。
- 一个心跳保活类的设计—改进
- 一个心跳保活类的设计
- 设计一个心跳包机制
- 心跳服务器的设计
- 做一个心跳的动画
- 心跳设计
- 基于apex的心跳包的设计
- 心跳的原理和对应的设计
- 心跳服务器的设计,比较有新意
- μcosii内核心跳的设计
- 协议设计:简单通信协议的心跳
- 心跳协议的设计与实现
- 遇见你,一个世纪的心跳声
- 给视图一个像心跳的动画
- 消息系统的改进设计
- 蚂蚁算法的一个改进
- 一个改进的UBB类
- Thunk 技术的一个改进
- 史上最牛的一段汇编代码
- 国内公共安全相关资源
- 差异备份的一个实现--总论和数据结构
- 一个心跳保活类的设计
- 我的新年愿望
- 一个心跳保活类的设计—改进
- openssl框架闲谈--总论
- openssl框架闲谈--BIO接口
- openssl框架闲谈--EVP加密/解密接口(附:加密)
- openssl框架闲谈--SSL实现
- unicode浅谈--信息论系列
- 模拟信号可以传输声音和图像,那么文字呢--信息论系列
- 汉字为何不能用笔画编码--信息论系列
- 信息熵与二进制--信息论系列