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

news/2024/7/20 3:00:13 标签: 微信小程序, 小程序

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

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

小程序开启 mDNS 搜索

使用 wx.startLocalServiceDiscovery 来开启 mDNS 搜索

<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,在此不做演示


http://www.niftyadmin.cn/n/5106401.html

相关文章

60 最长有效括号

最长有效括号 题目描述题解1 DPstack题解2 stack题解3 DP题解4 左右指针 题目描述 给你一个只包含 ( 和 ) 的字符串&#xff0c;找出最长有效&#xff08;格式正确且连续&#xff09;括号子串的长度。 示例 1&#xff1a; 输入&#xff1a;s "(()" 输出&#xff1…

【c++】跟webrtc学std array 4: H264PacketBuffer 包缓存

H264PacketBuffer m98代码:H264PacketBuffer 类似于PacketBuffer ,但仅用于H264// The H264PacketBuffer does the same job as the PacketBuffer but for H264 // only. To make it fit in with surronding code the PacketBuffer input/output // classes are used. 因此,…

【数据结构】线性表(六)堆栈:顺序栈及其基本操作(初始化、判空、判满、入栈、出栈、存取栈顶元素、清空栈)

文章目录 一、堆栈1. 定义2. 基本操作 二、顺序栈0. 顺序表1. 头文件和常量2. 栈结构体3. 栈的初始化4. 判断栈是否为空5. 判断栈是否已满6. 入栈7. 出栈8. 查看栈顶元素9. 清空栈10. 主函数11. 代码整合 堆栈Stack 和 队列Queue是两种非常重要的数据结构&#xff0c;两者都是特…

DPDK收发包流程分析

一、 前言 DPDK是intel工程师开发的一款用来快速处理数据包的框架,最初的目的是为了证明传统网络数据包处理性能低不是intel处理器导致的,而是传统数据的处理流程导致,后来随着dpdk的开源及其生态的快速发展,dpdk成为了高性能网络数据处理的优秀框架。本篇文章主要介绍DPDK…

laravel的默认首页怎么改-laravel框架默认欢迎页面如何修改

laravel的默认首页怎么改 搭建好的laravel的默认首页怎么改 我们有两种改动方式&#xff1a; 第一种修改默认路由&#xff1a; 下一步是要移除Laravel应用程序默认的欢迎页路由。这个路由可以在routes/web.php文件的顶部找到&#xff0c;看起来类似于以下代码&#xff1a; …

解决 sharp: Installation error: unable to verify the first certificate

使用 plasmo 时报错如下&#xff1a; E:\chromeplugins>pnpm create plasmo ../.pnpm-store/v3/tmp/dlx-46852 | 2 ../.pnpm-store/v3/tmp/dlx-46852 | Progress: resolved 2, reused 2, downloaded 0, added 2, done &#x1f7e3; Plasmo v0.83.0 &…

金融机器学习方法:决策树与随机森林

目录 1.决策树 1.1 什么是决策树&#xff1f; 1.2 决策树的优点与缺点 2.随机森林 2.1 什么是随机森林&#xff1f; 2.2 随机森林的优点与缺点 3.决策树与随机森林的联系与区别 4.案例分析 4.1 使用决策树和随机森林预测 4.2绘制ROC曲线 决策树和随机森林都是监督学…

每日一题 2525. 根据规则将箱子分类 (简单)

简单题&#xff0c;直接分类就好 class Solution:def categorizeBox(self, length: int, width: int, height: int, mass: int) -> str:if length > 10**4 or width > 10**4 or height > 10**4 or length*width*height > 10**9:return "Both" if mas…