并发聊天室

技术架构
采用C++语言,使用C/S架构构建客户端,服务端。

客户端设计
fork两个进程,之间用匿名管道通信,分别用于处理终端输入和服务器的交互。

服务端设计
单线程处理并发客户端请求,使用epoll注册所有的客户端连接到事件表,epoll采用ET触发,有事件仅返回一次,所有客户端保存到双链表中,有请求信息来广播给其他客户端,实现聊天室功能。