一.在客户端登录服务器,建立长连接,请求服务时,通常服务器端要检查客户端是否还保持连接,若连接已经断开,则服务器不再向该客户端提供服务,
这种ping服务器的机制通常称为心跳,若在一定时间内没收到ping信息,则说明客户端已经断线。如下图,就是模拟实现了在高并发连接中处理ping信息时,
服务器端收到的ping请求,如图:
说明:由上图可以看出,有3个客户端不断地向服务器发送ping心跳信息,uri为5表示ping请求,uri为3表示登录,当然这些都是人为规定的,
上述言简意赅地叙述了本文字的主题,下面接着讲服务器端如何实现。
二.服务器相关初始化:
1.创建epoll相关文件描述符监听读写事件,如下:
HighConcurrentServer::HighConcurrentServer() {
if ((epfd = epoll_create(MAXEVENTS)) == -1) {
exit(-1);
}
if ((connfd = epoll_create(MAXEVENTS)) == -1) {