前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >即时通信 IM 支持 WebSocket了

即时通信 IM 支持 WebSocket了

作者头像
腾讯云音视频
发布2021-07-19 10:10:46
2.9K0
发布2021-07-19 10:10:46
举报
文章被收录于专栏:音视频咖音视频咖

经过3个多月的开发测试,腾讯云即时通信 IM Web & 小程序 SDK 支持了WebSocket,欢迎升级使用!

WebSocket 协议在2008年诞生,2011年成为国际标准。所有浏览器都已经支持了。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。

主要有以下特点:

  • 建立在 TCP 协议之上,服务器端的实现比较容易;
  • 与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器;
  • 数据格式比较轻量,性能开销小,通信高效;
  • 可以发送文本,也可以发送二进制数据;
  • 没有同源限制,客户端可以与任意服务器通信。- 协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。

在v2.10.2版本之前,SDK 使用 HTTP 长轮询技术作为底层消息通道。HTTP 通信只能由客户端发起,不断轮询服务器,效率低,浪费资源(因为必须不停连接,或者 HTTP 连接始终打开),HTTP 协议做不到服务器主动向客户端推送信息,状态和变化感知较慢。为了解决上述问题,给客户更好的使用体验,我们决定支持 WebSocket,替换 HTTP 长轮询。

主要有以下优点:

  • 网络请求更快,SDK ready 耗时减少23%;
  • 消息收发效率更高,其中300ms以内的耗时占比提升35%;
  • SDK 使用推(Server Push)、拉(SDK Pull)结合的方式消息收发,在充分发挥 WebSocket 的优点,降低消息传输延时的同时,也保证了消息的可靠性
  • 大大减少了前端网络请求量,对小程序更友好;
  • 更迅速地感知用户状态变更,当客户关闭浏览器 Tab 页或者强杀浏览器进程后,IM 状态系统可以非常迅速地感知到(如果客户端发出了 FIN 或 RST 报文,则实时感知,否则最迟60s感知)。

升级的成本非常低,SDK 接口向下兼容,接入侧可以平滑升级。请通过 npm 升级 SDK。

Web:

代码语言:javascript
复制
 npm install tim-js-sdk --save

小程序:

代码语言:javascript
复制
npm install tim-wx-sdk --save

您可以根据每个版本的 更新日志,评估后按需升级。

- 注意事项 -

小程序使用前,需要将以下域名设为受信域名(已有的 IM 受信域名可以都删掉):

- wss://wss.im.qcloud.com

-wss://wss.tim.qq.com

-https://web.sdk.qcloud.com

-https://webim.tim.qq.com添加到 downloadFile 合法域名:https://cos.ap-shanghai.myqcloud.com

技术交流请加腾讯云即时通信 IM 技术 QQ 群:468195767

腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备 RT-ONETM 全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并以 All in One SDK 的创新方式为客户服务。腾讯云音视频为全真互联网时代,提供坚实的数字化助力。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云音视频 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主要有以下优点:
  • - 注意事项 -
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档