首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用t-io从零写一个像微信的IM(04):IM协议设计

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

原创
作者头像
谭聊
修改2020-12-24 18:13:16
修改2020-12-24 18:13:16
6490
举报

协议设计原则

1. 安全

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

2. 高效

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

3. 可扩展

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

协议格式参考

协议格式说明

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

协议交互设计

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

下集预告

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 协议设计原则
    • 1. 安全
    • 2. 高效
    • 3. 可扩展
  • 协议格式参考
  • 协议格式说明
  • 协议交互设计
  • 下集预告
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档