收藏
回答

UDP的功能完善

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 wx.createUDPSocket 工具 7.0.3 2.7.0

微信小程序从2.7.0开始终于支持UDP了


希望能完善一下UDP的功能

  1. 希望能添加获取本机局域网IP地址的方法。

  2. 希望能提供广播的方式,现在只能指定IP。


应用场景,我们这边做物联网。通过UDP组播来发送消息来搜索局域网的硬件装置。


最后一次编辑于  2019-05-17
回答关注问题邀请回答
收藏

5 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2019-06-03

    后续版本会支持该特性,请关注小程序的功能更新,谢谢!

    2019-06-03
    赞同
    回复
  • skybosi
    skybosi
    2019-07-28
    var ping = wx.createUDPSocket()
        if (ping === null) {
          console.log('暂不支持')
          return;
        }
        const dIp = "localhost"
        const dPort = ping.bind()
        ping.send({
          address: dIp,
          port: dPort,
          message: "ping"
        })
        var pong = null
        ping.onMessage(function (res) {
          console.log(res)
          let str = util.newAb2Str(res.message)
          if ("pong" != str) {
            for (var i = 0; i < 256; i++) {
              for (var j = 0; j < 256; j++) {
                var ip = "192.168." + i + "." + j
                var port = res.remoteInfo.port
                console.log("PONG", ip, port)
                if (i == 0 && i == j) {
                  pong = wx.createUDPSocket()
                  pong.bind()
                } else {
                  pong.send({
                    address: ip,
                    port: port,
                    message: "pong"
                  })
                  util.delay(100)
                }
              }
            }
          } else {
            ping.close()
            that.setData({
              locationUrl_ip: res.remoteInfo.address
            })
            that.initUdpSocket()
          }
        })

    无奈啊

    2019-07-28
    赞同 1
    回复 2
    • S-J-C
      S-J-C
      2019-08-27
      这个方法可行吗?希望提供util
      2019-08-27
      回复
    • skybosi
      skybosi
      2019-10-20
      可行但是效率太低了,不建议
      2019-10-20
      回复
  • Stephen
    Stephen
    2019-05-17

    悄咪咪的告诉你,预计下周会发布2.7.1基础库,里面极有可能包含你要的这两个功能

    2019-05-17
    赞同 1
    回复 2
    • 拾忆
      拾忆
      2019-05-17

      我怀疑你在剧透~

      2019-05-17
      回复
    • 徐
      2019-05-17

      瞪大我小眼睛天天刷社区。

      2019-05-17
      回复
  • Alex-lin
    Alex-lin
    2019-08-13

    请问一下,微信小程序UDP 这块,一定要先通过mDNS 发现了对端的ip和端口,才能与对端通讯吗?

    如果我事先hardcode住对端的IP 和端口可以直接用udp 通讯吗?

    2019-08-13
    赞同
    回复
  • Gayest
    Gayest
    2019-05-18

    地址写255.255.255.255 就是广播地址,向本局域网所有的主机发广播数据

    2019-05-18
    赞同
    回复 1
    • 徐
      2019-05-20

      问这个问题之前尝试过用255发,似乎是失败的。

      2019-05-20
      回复
登录 后发表内容