㈠ linux c 语言怎么实现心跳包
看你是怎么定义(一般根据网络环境定义),比如说你的心跳包时间间隔为5分钟,那服务器可以内检测下客户端容6分钟内有没有发心跳包上来,有的话,重新计时6分钟,如果6 分钟内没有上报心跳包的话,就把这客户端的连接断开.
㈡ 心跳包。如何发送TCP空帧的心跳包,它的格式是什么最好用c语言实现,因为我是在ARM上实现tcp协议
一字节对齐
struct heartbeat_req{
short reqNum;
}
struct heartbeat_rcv{
short reqNum;
}
你所有的包都有一个公用的报文头吧,报文头里面定义一个字段记录请求类型,一个字段记录数据部分长度,要空帧的心跳包就发一个没数据部分的报文头,请求类型字段填心跳包类型,数据部分长度填0就行了