如下代码可以创建UDP socket,但是无法发出数据,真机调试和预览都发不了。发送端手机为iPhone6和OPPO A57,接收端为笔记本电脑。已确定两端都连接同一个WIFI热点并在同一个局域网内,而且用其他手机工具APP可以从手机端成功发送UDP数据到接收端。试了几个基础库都不行。(2.7.1 2.7.7)
const udp = wx.createUDPSocket()
if (udp === null) {
console.log(‘暂不支持’)
return;
} else {
wx.showToast({
title: “” + udp,
icon: ‘success’,
duration: 2000
})
}
udp.send({
address: ‘192.168.125.4’,
port: 8848,
message: ‘hello, how are you’
})
我遇到了同样的问题。微信版本7.0.10。基础库是2.10.0。使用的代码就是范例中的2句话。
1,
const udp = wx.createUDPSocket()
这句在开发工具和真机调试都不会报错。但是返回的结果不同。真机调试时返回的结果如下:
可能正是因为在真机中默默地返回了一个非正常的socket,导致下面一句bind报错了。
2,udp.bind()
这句代码,在开发工具中可通过,并且后续发送消息正常。在真机调试时过不了,报上图的错误。
手机试了3款都一样,iphone6,三星note,华为。也没有其他信息可以调试,实在是没招了。
我的直觉,是wx.createUDPSocket()内部的处理有问题,但是我没有证据。希望微信开发团队和路过的大侠能救助一下,指一条明路。