Page({
data: {
udpSocket: ''
},
sendMessage() {
let ip = '192.168.3.255'
let port = 888
let message = 'hello i am wechat'
this.data.udpSocket.send({
address: ip,
port: port,
message: message
})
},
initUdpSocket() {
this.data.udpSocket = wx.createUDPSocket();
if (this.data.udpSocket === null) {
console.log('暂不支持')
return;
}
this.data.udpSocket.onListening(function (res) {
console.log('监听中Res ===' + res)
})
const locationPort = this.data.udpSocket.bind(888)
this.setData({
'locationUrl.port': locationPort
})
this.data.udpSocket.onMessage(function (res) {
console.log('remoteInfo ===' + res.remoteInfo)
console.log('remoteInfo.size ===' + res.remoteInfo.size)
if (res.remoteInfo.size > 0) {
console.log('UDP接收数据 ' + res.remoteInfo.size + ' 字节:' + JSON.stringify(res, null, '\t'))
let unit8Arr = new Uint8Array(res.message);
let encodedString = String.fromCharCode.apply(null, unit8Arr);
let escStr = escape(encodedString);
let decodedString = decodeURIComponent(escStr);
console.log('str===' + decodedString)
wx.showModal({
title: '提示',
content: decodedString,
success (res) {
if (res.confirm) {
console.log('用户点击确定')
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
}
})
},
lxt :function(){
this.initUdpSocket()
this.sendMessage()
},
})
上面的代码开发者工具中可以接收也可以发送,用预览、真机调试、体验版都不能发送和接收。请问是什么原因啊?
谢谢!
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
我也遇到同样问题,开发者工具上可以正常接收,真机预览就不行,显示的端口第一次可以,过后重新进入小程序就变为0了,
调了close方法还是没用,真机调试模式,打印的端口直接undefined的,微信的东西bug太多了,又没人解决