收藏
回答

为什么UDP在IOS系统下需要打开调试模式才能正常收发数据,体验版不行?

在使用udp功能的时候发现UDP通信在IOS系统下需要打开调试模式才能正常收发数据,而体验版不能发送数据。

我又换了安卓系统来测试也存在这个情况。

请问这个是什么情况,又遇到过这种问题的朋友嘛?

希望官方解答一下谢谢。

IOS:苹果8  (IOS 11.3.1)

安卓:华为MATE20 (安卓9.0)

代码如下:

var util = require('../../utils/util.js')
var udpSocket = wx.createUDPSocket();
var locationPort = udpSocket.bind();
 
Page({
  /**
   * 页面的初始数据
   */
  data: {
    messageList: []
  },
  mydata: {
    message: '',
    remoteUrl: {
      ip: '',
      port: -1
    },
    isSend: false
  },
  addMessage(event) {
    console.log(event)
    this.mydata.message = event.detail.value
  },
  sendMessage() {
    if (this.mydata.isSend) {
      return;
    }
    this.mydata.isSend = true
    let ip = this.mydata.remoteUrl.ip
    let port = this.mydata.remoteUrl.port
    let message = this.mydata.message
    if (message.trim() === '') {
      wx.showToast({
        title: '请输入内容',
      })
      return;
    }
    udpSocket.send({
      address: ip,
      port: port,
      message: message
    })
    this.mydata.isSend = false
    let list = this.data.messageList
    let obj = {
      text: message,
      from: 2
    }
    list.push(obj)
    this.setData({
      messageList: list
    })
  },
  initUdpSocket() {
 
    if (udpSocket === null) {
      console.log('暂不支持')
      return;
    }
    this.setData({
      'locationUrl.port': locationPort
    })
    udpSocket.onListening(function (res) {
      console.log('监听中...')
      console.log(res)
    })
    let that = this
    udpSocket.onMessage(function (res) {
      console.log(res.message)
      let str = util.newAb2Str(res.message)
      console.log('str===' + str)
      let list = that.data.messageList
      let obj = {
        text: str,
        from: 1
      }
      list.push(obj)
      that.setData({
        messageList: list
      })
    })
  },
  /**
   * 输入ip/端口号
   */
  addIp: function (event) {
    this.mydata.remoteUrl.ip = event.detail.value
  },
  addPort: function (event) {
    this.mydata.remoteUrl.port = event.detail.value
  }
})


最后一次编辑于  2019-11-03
回答关注问题邀请回答
收藏

3 个回答

  • w
    w
    2022-08-12

    有些时候,不光UDP有这种情况,普通的HTTP请求也存在这种情况。见怪不怪了已经。

    分享测试的时候,一但出现这种情况,就打开调试模式重启就好了。

    我已经不把它当成bug,而是当成一个潜规则了

    2022-08-12
    有用
    回复
  • 丶
    2020-12-22

    请问解决了吗

    2020-12-22
    有用
    回复
  • 是小白啊
    是小白啊
    2019-11-04

    麻烦提供能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-11-04
    有用
    回复
登录 后发表内容
问题标签