前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用t-io从零写一个像微信的IM(03):网络框架选择

用t-io从零写一个像微信的IM(03):网络框架选择

原创
作者头像
谭聊
修改2020-12-08 10:16:00
7680
修改2020-12-08 10:16:00
举报
文章被收录于专栏:用户7984056的专栏

用t-io从零写一个像微信的IM(03):网络框架选择

网络框架的选择主要指服务器端,毕竟IM的技术门槛都在服务器端(这并不是说客户端不难,只是相对而言技术门槛不是那么高)

这里先给出结论,我们选择的是t-io,这里有一份《t-io技术白皮书》,可以参考一下

给出结论后,来说说为什么选择t-io。以IM的需求来说明为什么说选择t-io是个不错的思路

1. 既要支持socket又要支持websocket

既要支持socket又要支持websocket的网络框架很多,但是我们想的更多的是,这两个协议能相互适配和转换,目前市面上在框架层支持协议相互适配和转换的,只有t-io

2. 可以方便地进行群组管理

IM中有大量的业务是针对群的操作,譬如对某个群发消息、建立群、解散群、离开群、将人踢出群… …t-io天然支持群组绑定和消息群发

3. 可以方便地进行用户管理

IM中对用户进行操作,是很常规的业务,譬如发消息给指定的用户、将用户踢出群、将用户加入群… …t-io天然支持用户绑定和发消息给用户

4. 稳定、高效

满足这一点的网络框架很多,除了t-io还有netty,但像mina就不建议使用了(毕竟历史太久了)

5. 易用、可驾驭

这一点,t-io基本完胜netty,仅代表个人能力特点表达的观点,不是说netty不易、难驾驭(还是有很多人喜欢netty的)

6. 支持集群

t-io内置了集群能力

6. 其它锦上添花的功能

心跳检测、半包粘包、集群、流量监控统计… …这些t-io都有现成的了

7. 结论

结论显而易见,我们选择了t-io

下集预告

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用t-io从零写一个像微信的IM(03):网络框架选择
    • 1. 既要支持socket又要支持websocket
      • 2. 可以方便地进行群组管理
        • 3. 可以方便地进行用户管理
          • 4. 稳定、高效
            • 5. 易用、可驾驭
              • 6. 支持集群
                • 6. 其它锦上添花的功能
                  • 7. 结论
                  • 下集预告
                  相关产品与服务
                  即时通信 IM
                  即时通信 IM(Instant Messaging)基于腾讯二十余年的 IM 技术积累,支持 Android、iOS、Mac、Windows、Web、H5、小程序平台且跨终端互通,低代码 UI 组件助您30分钟集成单聊、群聊、好友与资料、消息漫游、群组管理、会话管理、直播弹幕、内容审核和推送等能力。适用于直播互动、电商带货、客服咨询、社交沟通、企业办公、互动游戏、医疗健康等场景。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档