小程序很早就提供了Websocket API功能,现在官方推荐的做法是使用SocketTask的方式去管理WebSocket链接,这样可以使每一条链路的生命周期更加可控。
小程序使用WebSocket功能,非常简单。
1,创建WebSocket 实例,使用wx.connectSocket。
var ws = null;
ws = wx.connectSocket({
url: url,
timeout: 3000,
})
2,设置监听。
ws.onError(that.wsErr) ws.onOpen(that.wsConn) ws.onMessage(that.wsMsg) ws.onClose(that.wsClose)
3,发送数据。
ws.send({
data: msg,
success:()=>{
that.setData({
tips: "发送信息成功"
})
}
})
4,关闭连接。
const that = this;
if (!utils.isEmpty(ws)) {
// console.log('ws close,', res)
ws.close()
ws = null;
that.setData({
isConn: false,
tips: "连接关闭"
})
}
以上,是使用Websocket的一些核心代码,你可以根据你的业务需求加以完善。我的小程序实现了一个功能,使用小程序的Websocket API,可以调试局域网内的Websocket服务。这个功能,对于开发排查一些问题来说,非常有用。
调试界面如下:
对于一些使用设备服务,或者本地开发环境,可以作为Websocket调试客户端使用。
的有URL 可以是后端端口的地址吗?我说的是自己的后端端口
当然可以了,小程序后台还需配置一下url
如果使用我的小程序,这个url必须是局域网地址,如果你填写公网地址,会被拦截