用t-io從零寫一個像微信的IM(04):IM協議設計

協議設計原則

1. 安全

鑑權和授權是安全的兩大要素,協議設計時,鑑權和授權是必須要考慮進去的

2. 高效

高效包括開發高效運行高效,開發高效要求協議易懂、易編碼、易解碼,運行高效要求編解碼算法高效、沒有多餘無用的體積

3. 可擴展

既能滿足現有需求,在未來發生較大需求變更時,協議也能適應

協議格式參考

協議格式說明

  1. 當5個字節的消息頭滿足不了消息元數據時,可以增設二級消息頭,譬如命令碼爲9899時,有二級消息頭,二級消息頭裏重新定義業務命令碼
  2. 碰到上傳圖片或文件的需求時,不建議走IM協議,而是走HTTP協議,在HTTP中做好業務規範
  3. 命令碼一覽

協議交互設計

  1. 第一個消息必須是鑑權協議,確定客戶端身份
  2. 客戶端定時發送心跳消息

下集預告

用t-io從零寫一個像微信的IM(05):架構設計

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