心跳检测

  1. 1. 服务端
  2. 2. 客户端

心跳检测的作用主要是让服务端断开无用的连接,避免一直占用系统资源。TCP默认的心跳机制是2小时,所以心跳机制都是自行实现。

服务端

服务器另开启一个线程去遍历用户对象的列表,用户对象里保存最后接收到用户消息的时间,如果规定时间内没收到客户端的消息就说明客户端断线,此时需处理客户端断线逻辑,并且释放该客户端占用的资源。

当服务器收到客户端ping心跳包后,服务器更新客户端状态,并且发送pong心跳包进行回应。

客户端

客户端:在一个心跳周期后向服务端发送心跳包,等待服务端回应。如果规定时间没有收到服务端消息说明服务器已经断开连接。

2021年10月18日 11:31