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

5 篇文章 0 订阅
3 篇文章 0 订阅

协议设计原则

1. 安全

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

2. 高效

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

3. 可扩展

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

协议格式参考

协议格式说明

  1. 当5个字节的消息头满足不了消息元数据时,可以增设二级消息头,譬如命令码为9899时,有二级消息头,二级消息头里重新定义业务命令码
  2. 碰到上传图片或文件的需求时,不建议走IM协议,而是走HTTP协议,在HTTP中做好业务规范
  3. 命令码一览

协议交互设计

  1. 第一个消息必须是鉴权协议,确定客户端身份
  2. 客户端定时发送心跳消息

下集预告

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值