更新记录

1.0.1(2025-06-27)

  1. 增加harmony支持

1.0.0(2025-04-21)

udp广播(包含客服端和服务端),支持Android和iOS


平台兼容性

uni-app

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - 4.4 12
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
× × × × × × - × × × ×

uni-app x

Chrome Safari Android iOS 鸿蒙 微信小程序
- - 5.0 12 ×

udp广播,包含客户端和服务端,支持Android和iOS

集成步骤:

  1. 拷贝demo里的Info.plist、nativeResources文件夹到项目根目录下
  2. iOS打包的provisioining profile文件需要开通组播权限,参考https://www.jianshu.com/p/c2f6e6aa41a3?v=1682211826634
  3. 参考https://www.cnblogs.com/wenrisheng/p/18323027集成本插件到项目里

接口


import {
    UTSUdpServer,
    UTSUdpClient
} from "@/uni_modules/wrs-uts-udp"
// 服务端如果有多个端口需要监听,请使用多个变量,每个变量监听一个端口
let server = new UTSUdpServer()
// let server1 = new UTSUdpServer()
// let server2 = new UTSUdpServer()

let client = new UTSUdpClient()

客户端

  • 设置回调

client.onCallback((resp) => {
    this.showMsg(JSON.stringify(resp))
    let opt = resp.opt
    switch (opt) {
        case "sendSuc": {
            this.showMsg("发送成功:" + resp.id)
        }
        break;
        case "sendFail": {
            this.showMsg("发送失败:" + resp.id)
        }
        break;
        default:
            break;
    }
})
  • 发送数据

let params = {}
params.ip = this.ip // 服务端IP,如果ip是255.255.255.255表示广播
params.port = parseInt(this.port) // 服务端端口
// data是十六进制数据,如果需要进制转换、ASCII、modbus、crc等,请使用插件https://ext.dcloud.net.cn/plugin?id=19206
params.data = [0x00, 0xFF] // data可以是十六进制的数组
params.id = 123121 // 可选参数,发送指令ID,整形,可自定义
client.send(params)

服务端

  • 启动服务

let params = {}
params.port = parseInt(this.port) // 监听端口
params.cacheSize = 1024 // cacheSize目前仅支持Android
let result = server.start(params)
if (result.flag) {
    this.showMsg("启动成功")
} else {
    this.showMsg("启动失败:" + JSON.stringify(result))
}
  • 停止服务

server.stop()

隐私、权限声明

1. 本插件需要申请的系统权限列表:

网络权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问