标签:
1. 设计
2. 实战
采用Muduo网络库进行服务器的搭建工作;
思路:
一旦客户端连接服务器成功,调用OnConnection()函数;
当客户端发送数据给服务器,调用OnMessage()函数,处理数据并利用线程池进行搜索返回结果;
其中服务器与客户端的连接采用TCP长连接形式(TCP长连接与短连接的区别),分包方法为在每条消息的头部加一个长度字段;
解析数据的方案:(Muduo中利用Buffer缓存来发送和接收数据库)
当客户端给服务器发送查询数据后,在服务器的OnMessage()函数中首先需要解析数据;
客户端传给服务器的查询数据人为限制为120字节,因此在检查len的时候,若>120则需要提取全部信息后采取截断的操作;
以下为UML图 -
类设计:
SearchServer - 负责搜索服务器与客户端的交互操作;
MessageParser - 负责服务器的OnMessage()响应功能,接收数据并解析;生成数据并发送;
3. 测评
参见《Muduo网络库使用手册》中的性能评测;
标签:
原文地址:http://www.cnblogs.com/tanfy/p/5778136.html