首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

微信小程序的websocket通信探究

小程序的websocket协议是wss的,可以理解为ws+ssl,刚上线的时候只能够开一个websocket的入口,针对于单纯的聊天应用或者简单的交互应用是足够的,但如果有玩游戏的同时又要聊天,那么一个websocket就显然不够了,后来新增了一个sockettask,在使用小程序主websocket的同时,还可以使用sockettask新开websocket链接,相当于多开了个线程去通信。

为什么要使用websocket?

优点:

我们主要关注于双向通信和实时性,落实到具体的应用场景,比如可以应用于实时班车增强实时性,应用于前端状态管理可以识别在线,游戏,共享页面等等。具体的特点如下:

1.支持双向通信,实时性更强

也就是说只要能打开页面,基本上所有的逻辑和场景都是秒显,体验大大提升

2.更好的二进制支持。(文件传输)

3.较少的控制开销,连接创建后,ws客户端、服务端进行数据交换时,协议控制的数据包头部较小;在不包含头部的情况下,服务端到客户端的包头只有2~10字节(取决于数据包长度),客户端到服务端的的话,需要加上额外的4字节的掩码。而HTTP协议每次通信都需要携带完整的头部。

4.支持扩展。ws协议定义了扩展,用户可以扩展协议,或者实现自定义的子协议。(比如支持自定义压缩算法等)

缺点:

需做较多异常处理,链接不上、重连等逻辑在前端和服务端都要做响应的处理

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180208G0W2CR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券