我现在就是绑定指定端口,开发者工具上可以正常接收消息,真机预览打印出来的port为0,然后接收不了消息
UDP 通信 如何bind指定端口?[代码] let udpSocket = wx.createUDPSocket();[代码][代码] [代码][代码]this[代码][代码].udpSocket = udpSocket;[代码][代码] [代码][代码]let port = udpSocket.bind(52158);[代码][代码] [代码][代码]console.log([代码][代码]'udp listener on port:'[代码] [代码]+ port);[代码] [代码] [代码][代码]udpSocket.onClose(() => {[代码][代码] [代码][代码]console.log([代码][代码]'udp close'[代码][代码]);[代码][代码] [代码][代码]})[代码] [代码] [代码][代码]udpSocket.onMessage([代码][代码]function[代码] [代码](msg, remoteDevice) {[代码] 结果每次都是随机给我分配一个 第一次绑定的也不是52158端口
2022-02-15[图片] 需求是接收这个端口号下硬件发的消息,开发者工具上随便怎样都可以正常接收,在真机预览时第一次可以,第二次进来时打印的端口号port就变为0了,导致无法接收消息,真机调试时port直接为undefined [图片] 调用close方法也没用,官方也没有具体可用的demo,望微信官方认真解决一下这个bug,在社区里面看到不少开发者都提到这个bug,但是到现在微信官方都没有解决好这个问题。现在进行物联网开发的越来越多,小程序和硬件通讯的需求越来越多,为了让小程序不断壮大,希望微信官方好好解决开发者提的问题吧
udp绑定固定的端口以后,真机无法收到onListening,和onMessage回调(模拟器OK)查看相关问题并没有解决(https://developers.weixin.qq.com/community/develop/doc/0006e04cd149988a2b89b40b951000?_at=1591691801863) https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onListening.html https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onMessage.html
2022-02-15[图片] 绑定固定端口,接收消息,开发者工具可以正常接收,真机预览绑定的端口第一次正常,第二次进入小程序绑定的端口就变为0,导致不能接收消息,试了很多方法都不行,望微信官方解决一下这个bug
小程序使用UDPSocket监听机器端数据,监听不到是怎么回事?https://developers.weixin.qq.com/miniprogram/dev/framework/
2022-02-15[图片] 我也遇到同样问题,开发者工具上可以正常接收,真机预览就不行,显示的端口第一次可以,过后重新进入小程序就变为0了, [图片] 调了close方法还是没用,真机调试模式,打印的端口直接undefined的,微信的东西bug太多了,又没人解决
小程序UDP通信开发者工具正常使用,真机和预览都不行是什么原因啊?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() }, }) 上面的代码开发者工具中可以接收也可以发送,用预览、真机调试、体验版都不能发送和接收。请问是什么原因啊? 谢谢!
2022-02-15我也遇到同样问题,请问解决了吗?
微信小程序UDP使用bind()固定端口后,真机仅能打开一次有效,重新进入小程序端口显示为0绑定端口仅能进入一次,更换随机端口后则恢复正常[图片]
2022-02-15