原文链接:https://blog.csdn.net/sinat_41695090/article/details/85684761
我们在交互的过程中,常常会遇到需要实时刷新页面,显示进度的需要,如果这时候如果使用setTimeout定时器这种就显得笨拙许多,需要定时不断的发起http请求,造成页面开销过大,这时候使用webSocket长连接就显得很有必要了
一.webSocket
一种TCP长连接,浏览器和服务器只需要完成一次握手,两者就可以持久性的连接并且双向数据传输,持续的从服务端主动向客户端推送数据,浏览器发出建立webSocket连接的请求,连接建立后,客户端和服务端通过TCP连接交换数据
二.小程序中webSocket的使用
1.通过wx.connectSocket(对象)创建webSocket连接
2.之后通过wx.onSocketOpen(回调)监听webSocket连接打开事件
或者通过wx.onSocketError(回调)监听webSocket连接错误的事件
3.然后通过wx.sendSocketMessage(要发送的data数据)使用webSocket发送数据,放在wx.onSocketOpen()的回调之中
4.再后面使用wx.onSocketMessage(回调)接受服务端返回的数据,监听webSocket接受到服务器的消息事件
5.然后通过wx.closeSocket(对象)关闭webSocket连接
6.最后也可以使用wx.onSocketClose(回调)监听webSocket关闭事件