參考了qq、msn、gtalk、fetion的協議和源**,進行了一定的優化。
傳輸協議使用精簡xml表達(使用attribute,不使用element)
登入方式參考了qq,採取先獲取token,然後對之後的資訊進行加密傳輸。
在穩定性方面,增強了對鏈結的健康度檢查,包括出錯率、傳送頻率等等;一旦出現異常立刻結束通話。
對話方面參考了sip協議,使用invite?bye協議進行會話繫結。
客戶端設計參考了lumaqq.net的小部分分類,例如connectionmanager/messagemanager/contactmanager等。
同時極大簡化了架構,使二次開發更加容易。效果如圖:
伺服器目前使用console,沒有一定的控制功能。基本上就是自動執行了。
可能將來會加入伺服器效能監控的部分。比如強制下線、健康檢查等等。
即時通訊伺服器架構的一些思考
對於乙個即時通訊伺服器來說,在使用者量少的時候,一台伺服器就足以提供所有的服務。而這種架構也最簡單,舉個例子,使用者a與使用者b互為好友,a向b發訊息,伺服器接收到訊息時,解析出接收訊息的人,直接 給b即可。可是當使用者數量越來越多時,一台伺服器已經無法所有使用者的需求,這時就要進行服務擴容,進行分...
即時通訊伺服器架構的一些思考
對於乙個即時通訊伺服器來說,在使用者量少的時候,一台伺服器就足以提供所有的服務。而這種架構也最簡單,舉個例子,使用者a與使用者b互為好友,a向b發訊息,伺服器接收到訊息時,解析出接收訊息的人,直接 給b即可。可是當使用者數量越來越多時,一台伺服器已經無法所有使用者的需求,這時就要進行服務擴容,進行分...
環信IM即時通訊快速整合和基本功能的使用
不包含實時語音版本 sdk hyphenatelite 引用時 import pod hyphenatelite cn 包含實時語音版本 sdk hyphenate 引用時 import 三 設定新增靜態庫 第 1 步 向build phases link binary with libraries...