收藏
回答

udp socket无法发送数据

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug UDPSocket 微信iOS客户端 7.0.6 2.8.0

如下代码可以创建UDP socket,但是无法发出数据,真机调试和预览都发不了。发送端手机为iPhone6和OPPO A57,接收端为笔记本电脑。已确定两端都连接同一个WIFI热点并在同一个局域网内,而且用其他手机工具APP可以从手机端成功发送UDP数据到接收端。试了几个基础库都不行。(2.7.1   2.7.7)


const udp = wx.createUDPSocket()

//udp.bind()


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'

})


回答关注问题邀请回答
收藏

5 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2019-08-15

    先确认下有没有收到任何错误事件

    2019-08-15
    有用
    回复 5
    • brengthdom
      brengthdom
      2019-08-15
      console没有错误提示,但是如果加了bind就会有错误,我们不需要接收就注释掉了bind
      2019-08-15
      回复
    • 小程序/小游戏开发-Link
      小程序/小游戏开发-Link
      2019-08-15回复brengthdom
      需要 bind 才能发消息的,bind 有什么错误呢?
      2019-08-15
      回复
    • brengthdom
      brengthdom
      2019-08-15

      加了bind之后现在能正常发送了了,不知道刚才怎么回事。谢谢

      2019-08-15
      回复
    • brengthdom
      brengthdom
      2019-08-15回复小程序/小游戏开发-Link
      请问有小程序团队的答疑的微信或QQ群么?或是能加一下您的微信么?以后碰上问题好请教
      2019-08-15
      回复
    • 小程序/小游戏开发-Link
      小程序/小游戏开发-Link
      2019-08-16回复brengthdom
      有问题还是优先在社区提问,值班同事会及时跟进的。
      2019-08-16
      回复
  • flyboy
    flyboy
    02-24

    基础库是2.10.1的,真机调试报 “Cannot read property 'bind' of undefined“

    手机体验版 进不了 udpSocket.onListening ,无法打印console.log

    this.udpSocket.onListening(function (res) {

    console.log('udpSocket监听中...')

    console.log(res)


    02-24
    有用 1
    回复
  • 轻尘技术
    轻尘技术
    2019-12-31

    我遇到了同样的问题。微信版本7.0.10。基础库是2.10.0。使用的代码就是范例中的2句话。

    1,

    const udp = wx.createUDPSocket()

    这句在开发工具和真机调试都不会报错。但是返回的结果不同。真机调试时返回的结果如下:

    可能正是因为在真机中默默地返回了一个非正常的socket,导致下面一句bind报错了。

    2,udp.bind()

    这句代码,在开发工具中可通过,并且后续发送消息正常。在真机调试时过不了,报上图的错误。


    手机试了3款都一样,iphone6,三星note,华为。也没有其他信息可以调试,实在是没招了。

    我的直觉,是wx.createUDPSocket()内部的处理有问题,但是我没有证据。希望微信开发团队和路过的大侠能救助一下,指一条明路。


    2019-12-31
    有用
    回复 1
    • 轻尘技术
      轻尘技术
      01-02
      更正。我的问题和楼上不一样。在其他提问评论中翻到了答案。真机调试暂不支持,换成预览,果然可以发送,问题解决。之前一直没注意真机调试和预览有什么区别,往后要注意了。希望能帮到后来人吧。
      01-02
      回复
  • C.
    C.
    2019-08-22

    模拟器基础库版本是2.8.0的能正常发送消息,真机调试不行报错,难道是移动设备基础库版本太低的原因吗?求解


    2019-08-22
    有用
    回复 4
    • C.
      C.
      2019-08-22
      是手机微信没有升级,但是真机调试还是不行,报 “Cannot read property 'bind' of undefined“,只能在模拟器发送消息
      2019-08-22
      回复
    • 范得瓦尔西里
      范得瓦尔西里
      2019-08-22回复C.
      UDP需要基础库2.7.0以上
      2019-08-22
      回复
    • C.
      C.
      2019-08-22回复范得瓦尔西里
      基础库是2.8.0的,真机调试报 “Cannot read property 'bind' of undefined“
      2019-08-22
      1
      回复
    • brengthdom
      brengthdom
      2019-08-22回复C.
      我是用预览可以
      2019-08-22
      回复
  • brengthdom
    brengthdom
    2019-08-15

    麻烦指导一下,多谢了

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