大家好,欢迎来到IT知识分享网。
某后台服务器时序图,画了三小时,终于画好。
如上图,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删除。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24557.html