经过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:
-
npm install tim-js-sdk --save
小程序:
-
npm install tim-wx-sdk --save
您可以根据每个版本的 更新日志,评估后按需升级。
- 注意事项 -
小程序使用前,需要将以下域名设为受信域名(已有的 IM 受信域名可以都删掉):
- wss://wss.im.qcloud.com
-wss://wss.tim.qq.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 的创新方式为客户服务。腾讯云音视频为全真互联网时代,提供坚实的数字化助力。