微信小程序的websocket通信探究

Posted 职能IT智慧圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序的websocket通信探究相关的知识,希望对你有一定的参考价值。

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



为什么要使用websocket?

优点:

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

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

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



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


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


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

 

缺点:

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


以上是关于微信小程序的websocket通信探究的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序配置websocket环境及如何在小程

技术文:微信小程序和服务器通信-WebSocket

Nginx配置wss访问实现微信小程序的websocket通信

微信小程序: WebSocket应用

C++使用socket实现与微信小程序通信(修改)

微信小程序-WebSocket应用