之前写聊天室的时候,因为构思不够严谨,连续重构了好几次,也算是踩了好多次的坑。这次就给大家讲下我写聊天室的一点点经验和建议。
- 采用的策略:迭代服务器还是并发服务器
迭代服务器
服务器进程是一个一个处理各个客户端发来的连接的,比如一个客户端发来一个连接,那么只要它还没有完成自己的任务,那么它就一直会占用服务器的进程直到处理完毕后服务器关闭掉这个socket。
并发服务器
有很多种模型。服务器对于客户端到来的请求在线程中并发处理。这样可以“同时”处理耗时操作。
我当时因为线程池不知道如何部署,包括我的业务逻辑函数的接口不一致,就采用了迭代服务器
我的服务器大致思路: