版本的优化,主要是后台服务器的优化。
- 基本功能都已实现:TCP聊天室、用户注册、好友上线,下线显示,用户头像切换
- 因为涉及多线程,所以需要用到互斥锁
- 用户信息更新慢
- 不支持中文用户名注册
服务器采用的是非阻塞IO+IO复用的模型,即Reactor模型。在事件循环中,每有一个新的连接,就新建一个线程去处理请求,在处理请求的线程中,还包含有对数据库的处理。V 1.0 版本存在很多不足,在实际运行的过程中,同时在线人数达到10人左右,服务器就会崩溃,崩溃的具体原因就是多线程中对临界资源的处理不够完美,然后又看了陈硕的《Linux多线程服务端编程》,在muduo的基础上实现了V 2.0
- 并发连接数增加
- 用户信息更新更快
- 支持中文用户名注册
V 2.0是基于muduo网络库实现的,muduo也是基于Reactor模型实现的,不过是采用线程池来管理线程资源,不是一味的创建新线程来处理新连接,在实现的过程中,可以将业务逻辑将服务逻辑分开,代码结构更加清晰。