微信小程序搜索局域网设备

最终目的:在微信小程序内搜索到同局域网内的其他设备

实现步骤:小程序开启 mDNS(多播 DNS) 搜索 + 其他设备配置对应的 mDNS 模块

小程序开启 mDNS 搜索

使用 wx.startLocalServiceDiscovery 来开启 mDNS 搜索

vue 复制代码
<template>
  <view>
    <button @click="getLocalDevice">获取局域网设备</button>
    <!-- 打印信息 -->
    <view v-for="(item, index) in infoList" :key="index">
      {{ item }}
    </view>
  </view>
</template>

<script>
  export default {
    data() {
      return {
        infoList: [],
      }
    },
    methods: {
      //获取局域网设备
      getLocalDevice() {
        // 开始搜索
        wx.startLocalServiceDiscovery({
          // 当前手机所连的局域网下有一个 _http._tcp. 类型的服务,除此之外还可以设置为 '_ssh._tcp'等,具体自己百度
          serviceType: '_http._tcp',
          success: data => {
            console.log('开启成功', data)
          },
          fail: error => {
            console.log('开启失败', error)
          },
        })

        // 设置定时器停止搜索(如果不设置的话,微信默认搜索30s后停止搜索)
        setTimeout(() => {
          wx.stopLocalServiceDiscovery({
            success: data => {
              console.log('关闭成功', data)
            },
            fail: error => {
              console.log('关闭失败', error)
            },
          })
        }, 20000)
        // 监听搜索到的数据,每搜索到一个设备,就会执行一次该函数
        wx.onLocalServiceFound(rs => {
          console.log('搜索到设备', rs)
        })
      },
    },
  }
</script>

其他设备配置对应的 mDNS 模块

根据设备自己的系统去设置 mDNS,在此不做演示

相关推荐
WangHappy6 小时前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端12 小时前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker1 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker1 天前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
大米饭消灭者4 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
FliPPeDround5 天前
Vitest Environment UniApp:让 uni-app E2E 测试变得前所未有的简单
微信小程序·e2e·前端工程化
FliPPeDround5 天前
微信小程序自动化的 AI 新时代:wechat-devtools-mcp 智能方案
微信小程序·ai编程·mcp
吴声子夜歌5 天前
小程序——布局示例
小程序
码云数智-大飞5 天前
如何创建自己的小程序,码云数智与有赞平台对比
微信小程序
luffy54595 天前
微信小程序页面使用类似filter函数的wxs语法
微信小程序·小程序