我用python写了个心跳包,每6秒服务端向客户端发送一个带时间戳的包,原本这样是很正常的,但如果心跳包发送期间正好服务端和客户端通信那整个数据就会乱掉,比如发送一个4m的图片,还没发送完,心跳线程就会往socket缓存区丢一个包,那客户端接收的数据就全乱了,所以怎样才能解决这个问题呢?标签写的有点多,希望能提供个思路就好,请见谅。
发送加锁。在发送数据就没有必要加心跳
服务端通信时,有标志吗? 可否实现心跳包发数据时,先询问服务端状态。
你发送心跳包之前发现正在跟服务器通信,这个时候就不需要发送心跳包。continue