小程序 websocket

一、websocket 建立即时通讯

WebSocket是什么(简述)

微信的WebSocket接口和HTML5的WebSocket基本一样,是HTTP协议升级来的,做为一个新的Socket在B/S上使用,它实现了浏览器与服务器全双工通信。

因为这里是做小程序,所以就不对WebSocket的底层和协议做过多的说明了,只是稍微介绍一下。想了解详细的WebSocket可以参考如下:

WebSocket 协议

小程序自带一套websocket的接口文档

具体方法如下:


1.png

wx.connectSocket(OBJECT)

创建一个 WebSocket 连接。

wx.onSocketOpen(CALLBACK)

监听WebSocket连接打开事件。

wx.onSocketError(CALLBACK)

监听WebSocket错误。

wx.sendSocketMessage(OBJECT)

通过 WebSocket 连接发送数据,需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。

wx.onSocketMessage(CALLBACK)

监听WebSocket接受到服务器的消息事件。

wx.closeSocket(OBJECT)

关闭 WebSocket 连接。

二、使用过程

了解websocket 各种消息方法之后,我们需要注意以下几点

1. 需要定时心跳

定时心跳,按各种情况设置为10-20秒。心跳作用:通知后台保活,如果停止心跳消息,后台会主动断开,走断开流程。

2.重连机制

使用过程中,可能因为网络问题,导致websocket断开连接,首先更具业务需求,判断是否需要重连,如果要重连不建议立刻重连,可做一个延迟操作,再进行重连。

3.其他
  • sendSocketMessage,data必须是String或者是ArrayBuffer,不然在IOS上会报错。

  • connectSocket,connect的时候,data要带一点参数data: { EIO: '4', transport: 'websocket' }

你可能感兴趣的:(小程序 websocket)