IM協議的選型需要考慮很多元素,具體如下:
消息:發送消息,離線消息,消息的擴展,消息回執
狀態:在線狀態 (移動互聯 已經沒有在線離線,認爲一直在線)
用戶管理:創建,刪除,登陸,用戶信息 (nick,頭像)
好友管理:加好友,減好友,獲取好友列表
羣組/聊天室管理:創建羣主,成員管理,權限管理,踢人。。。
隱私,黑名單
數據同步 (聯繫人,羣組)
但常用IM協議基本如下所示,大概四種:
1、XMPP:基於xml的消息協議
優點:廣泛使用,可擴展
缺點:流量較大
典型案例:Jabber、Gtalk、Facebook、新浪微博
2、MQTT:IBM開發的一個即時通訊協議
優點:多平臺
缺點:簡單的消息協議,要自己實現好友,羣組
典型案例:推送
3、SIP:基於SIP,增加了 message 和 presence 的擴展
優點:已有SIP voip 服務的基礎上,支持短信
缺點:SIP 信令控制的擴展,比較複雜
典型案例:VOIP
4、私有協議:ActivitySync
優點:對同步支持好,流量小
缺點:工作量大,擴展性差
典型案例:微信