收藏
回答

小程序UDPSocket.send发送数据发不出来?

小程序实现UDP发送和接收,之前使用正常,最近使用发现UDPSocket.send发送数据失败,没有任何提示信息,在真机调试和预览情况下都不行(之前上线的小程序也失败)。小程序配置信息如下:

  1. 微信开发工具:V1.05.2201240
  2. 微信版本:8.0.16
  3. IOS版本:15.2.1
  4. 基础库版本:2.22.0

期间代码没有做过修改,见下:

this.data.udpSocket = wx.createUDPSocket();
      if (this.data.udpSocket === null) {
        console.log('暂不支持')
        return;
      }


      const locationPort = this.data.udpSocket.bind()
      console.log('UDP客户端端口号:'+locationPort)
      this.setData({
        isFirstfalse,
        port: locationPort
      })


      this.data.udpSocket.onListening(function (res{
        console.log('监听中Res ===' + res)
      })


      const password = this.data.password;
      const ssid = this.data.ssid;
      const port = this.data.port;
      const openid = app.globalData.gopenid;



      let message = JSON.stringify({
        port,
        password,
        ssid,
        openid
      })


      this.data.udp.send({
        address'192.168.4.1',
        port8266,
        message
      });


      // 监听UDP响应数据
      this.data.udpSocket.onMessage((res) => {
        console.log("get data from esp module");
        console.log(res);
        //字符串转换,很重要
        let unit8Arr = new Uint8Array(res.message);
        let encodedString = String.fromCharCode.apply(null, unit8Arr);
        let data = decodeURIComponent(escape((encodedString)));
        console.log("data:", data);
        let str = JSON.parse(data);
        switch (str.code) {
          //成功收到信息
          case 0:
            wx.showToast({
              title'接收成功',
            })
            break;
            //成功解析到信息
回答关注问题邀请回答
收藏

2 个回答

  • i
    i
    2022-02-12

    谢谢。

    onError监听没有任何数据返回。使用‘调试微信开发工具’Network中,有“{"baseresponse":{"errcode":44002,"errmsg":"empty post data"}}”。请问wx.createUDPSocket接口是否和小程序硬件设备开通有关,目前小程序硬件设备未开通,但蹊跷的是上线小程序之前都是正常可以使用的,实在不清楚是哪里出了问题了。再次感谢。
    


    2022-02-12
    有用
    回复 1
  • Cjiang
    Cjiang
    2022-02-11

    onError监听一下是否有报错?

    2022-02-11
    有用
    回复
登录 后发表内容