Popular blog tags

1. 微信小程序支持的WebSocket-API

微信小程序的websocket链接是全局只能有一个,官方提示:“一个微信小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。”

1. wx.connectSocket(OBJECT)
官方解释:创建一个WebSocket连接;一个微信小程序同时只能有一个WebSocket连接,如果当前已存在一个WebSocket连接,会自动关闭该连接,并重新创建一个WebSocket连接。

2. wx.onSocketOpen(CALLBACK)
监听WebSocket连接打开事件

3. wx.onSocketError(CALLBACK)
监听WebSocket错误

4. wx.sendSocketMessage(OBJECT)
通过WebSocket连接发送数据,需要先wx.connectSocket,并在wx.onSocketOpen回调之后才能发送。
包含一个String类型的data的参数

5. wx.onSocketMessage(CALLBACK)
监听WebSocket接受到服务器的消息事件
包含一个String类型的data的参数

6. wx.closeSocket()
关闭WebSocket连接

7. wx.onSocketClose(CALLBACK)
监听WebSocket关闭

WebSocket完整的流程如下图:

 WebSocket 请求如何辨别
对于 WebSocket 来说,它必须依赖 HTTP 协议进行一次握手,握手成功后,数据就直接从 TCP 通道传输,与 HTTP 无关了。
先看其request和response消息头:

浏览器请求request

浏览器response消息头



Upgrade: websocket向服务器声明此请求为ws请求。

 

参考资料:

1.https://mp.weixin.qq.com/s?__biz=MzA3OTU5MzA1OQ==&mid=2656224516&idx=1&sn=3ca695d14359bc47352b1a8715c0d340&chksm=84174e08b360c71eff98fc710a36fa66abd0f5254a42bbacedd44aa8655060f6ecdb04bf2a5d&mpshare=1&scene=23&srcid=03253LEDj8JgLQGgiV42a4Ir#rd

2.微信小程序远程控制电脑屏幕

https://mp.weixin.qq.com/s?__biz=MzI1ODE4NzE1Nw==&mid=2247484031&idx=1&sn=1e59f4082cd4d338c3c9076ca57bd2f4&chksm=ea0d4885dd7ac1939dbfad6ffbf53f4baa6b2d7394679a7b8ab3457352b281dfcb4e7a9fca3c&mpshare=1&scene=23&srcid=0325Wqsz7381igC0yCjxY31E#rd

3.微信小程序网络通讯 — WebSocket专题详解

https://mp.weixin.qq.com/s/FIwbHKqOerSlEZ84lieyaQ

4.微信小程序WebSocket挖矿

https://mp.weixin.qq.com/s/tcqeOJWjDDaH4wUmMTirbg

5.微信小程序实现WebSocket心跳重连

https://juejin.im/post/5b5ad3c16fb9a04fab451c9d

6.微信小程序WebSocket实时显示交易信息

https://blog.csdn.net/lecepin/article/details/54632749

7.微信小程序WebSocket连接AspNetCore SignalR Json Hub

http://www.cnblogs.com/turingguo/p/9072865.html

8.微信小程序WebSocket与AspNetCore SignalR聊天实例,含已改写的客户端

https://www.cnblogs.com/LiangSW/p/9415246.html