现象:
服务端不停的打印错误日志,客户端无法新建连接
故障排查:
在 void ev_on_read(struct ev_loop* loop, struct ev_io* watcher, int revents)
if (read == 0) {
printf("client disconnected.\n");
// close socket
close(watcher->fd);
ev_io_stop(loop, libevlist[watcher->fd]);
free(libevlist[watcher->fd]);
libevlist[watcher->fd] = NULL;
}
当数据接收到客户端关闭的事件后,应当主动关闭socket 并停止 ev_io