蘑菇街TeamTalk源碼流程思維導圖

最近對蘑菇街的TeamTalk源碼比較感興趣,因此抽了部分時間去學習它的源碼,獲益匪淺,該篇文章列出了TeamTalk Login_Server的處理流程的思維導圖,希望幫助大家閱讀Login_Server的代碼時有個宏觀的瞭解。

當前的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有數據可讀

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章