用t-io从零写一个像微信的IM(04):IM协议设计

协议设计原则

1. 安全

鉴权和授权是安全的两大要素,协议设计时,鉴权和授权是必须要考虑进去的

2. 高效

高效包括开发高效运行高效,开发高效要求协议易懂、易编码、易解码,运行高效要求编解码算法高效、没有多余无用的体积

3. 可扩展

既能满足现有需求,在未来发生较大需求变更时,协议也能适应

协议格式参考

协议格式说明

当5个字节的消息头满足不了消息元数据时,可以增设二级消息头,譬如命令码为9899时,有二级消息头,二级消息头里重新定义业务命令码

碰到上传图片或文件的需求时,不建议走IM协议,而是走HTTP协议,在HTTP中做好业务规范

命令码一览

协议交互设计

第一个消息必须是鉴权协议,确定客户端身份

客户端定时发送心跳消息

下集预告

用t-io从零写一个像微信的IM(05):架构设计

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容