评论

使用小程序WebSocket API功能,实现调试本地Websocket服务

使用小程序WebSocket API功能,实现调试本地Websocket服务

小程序很早就提供了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调试客户端使用。


最后一次编辑于  03-25  
点赞 1
收藏
评论

1 个评论

  • 筱夏
    筱夏
    06-27
    ws = wx.connectSocket({
            url: url,
            timeout: 3000,
          })
    
    

    的有URL 可以是后端端口的地址吗?我说的是自己的后端端口

    06-27
    赞同
    回复 2
    • 神经蛙
      神经蛙
      发表于小程序端
      06-27

      当然可以了,小程序后台还需配置一下url

      06-27
      回复
    • 神经蛙
      神经蛙
      发表于小程序端
      06-27

      如果使用我的小程序,这个url必须是局域网地址,如果你填写公网地址,会被拦截

      06-27
      回复
登录 后发表内容