收藏
回答

小程序通过wx.createUDPSocket连接硬件设备,部分设备连接之后不能进入回调?

//封装的连接udp的方法如下,华为手机连接时,部分设备onMessage,onError, onClose的回调都没进入。部分设备是正常,回调方法都能正常执行。使用uni-app开发。
//小米手机是全部都不能连接,控制台报同样的问题			
createUDPSocket({
				port,
				message,
				onMessageCallBack
			}) {
				console.log('createUDPSocket')
				const udpSocket = wx.createUDPSocket()
				udpSocket.bind(port)
				udpSocket.send({
					address: '192.168.1.1',
					port,
					message
				})
				console.log('发送请求了')
				udpSocket.onMessage(onMessageCallBack)
				udpSocket.onError((err) => {
					console.log('err===', err)
				})
				udpSocket.onClose(() => {
					console.log('关闭了')
				})
				return () => {
					udpSocket.offMessage(onMessageCallBack)
					udpSocket.close()
				}
			}
//调用的方法如下
			connectDevice() {
				const onMessageCallback = ({
					message,
					remoteInfo,
					localInfo
				}) => {
					console.log('进入回调了')
					//回调的处理方式,绘制canvas
				}
				// 获取图像
				this.createUDPSocket({
					port: 7080,
					message: new Uint8Array([0x20, 0x36]),
					onMessageCallBack: onMessageCallback
				})
			}

真机预览控制台进入不到回调的设备会打印图下信息:

最后一次编辑于  09-14
回答关注问题邀请回答
收藏
登录 后发表内容