您的位置:首页 > 其它

某后台服务器时序图

2016-01-01 10:56 218 查看
某后台服务器时序图,画了三小时,终于画好。



如上图,ListenThread负责侦听客户端的连接,当有客户端连接上来时,接受socket,并且发送消息3:add
socketInfo,将socketinfo增加到 m_sockCacheList[nIndex]中。nIndex表示缓冲线程的线程索引,取值可以为[1…n]。ListenThread用socket总数对缓冲线程总数取模来决定当前socket加入到哪个缓冲线程中。

缓冲线程对自己m_sockCacheList[nIndex]中的socket循环检查是否有数据可读。若有数据可读,则为客户端寻找空闲的TradeThread(或者创建TradeThread,发送消息5:Create
TradeThread),接着发送消息6:Delete
socketInfo,将socketInfo从自己内部的m_sockCacheList[nIndex]移除。

TradeThread,侦听客户端的请求操作,并且根据业务规则,做相应处理。当发现客户端在规定的时间内无反应时,发送消息:5:3,Delete
socketInfo,将scoketInfo删除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  时序图