蘑菇街TeamTalk源码流程思维导图

最近对蘑菇街的TeamTalk源码比较感兴趣,因此抽了部分时间去学习它的源码,获益匪浅,该篇文章列出了TeamTalk Login_Server的处理流程的思维导图,希望帮助大家阅读Login_Server的代码时有个宏观的了解。

蘑菇街TeamTalk源码流程思维导图_第1张图片

当前的TEAMTALK ClientListen已经废弃了,客户端通过HTTP 协议想Login_Server申请一个负载最小的Msg_Server。Msg_Server在开始的时候会向Login_Server发起连接,报告当前Msg_Server的负载情况,并且在用户登录和退出的时候想Login_Server更新负载情况;Login_Server保存当前Msg_Server的负载情况。因此Login_Server就相当于一个负载均衡器。


Windows下,TeamTalk的时间分发器是采用Select机制来判断当前连接是否可读可写,在Linux下是采用EPOLL机制,具体使用方法可参考其他文档。

Select 调用返回成功,ReadSet有数据可读

你可能感兴趣的:(零散知识)