更新记录

1.0.0(2025-04-15)

  1. socket客户端和服务端,支持Android和iOS
  2. 支持收发数据

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.8,Android:4.4,iOS:9,HarmonyNext:不支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

socket客户端和服务端,支持Android和iOS

集成步骤:

接口文档


    import {
        UTSSocketServer,
        UTSSocketClient
    } from "@/uni_modules/wrs-uts-socket"

    // 多个服务端请使用多个变量
    let server = new UTSSocketServer()
    // let server1 = new UTSSocketServer()
    // let server2 = new UTSSocketServer()

    // 多个客户端请使用多个变量
    let client = new UTSSocketClient()
// let client1 = new UTSSocketClient()
// let client2 = new UTSSocketClient()

客户端

  • 设置回调

client.onCallback((resp) => {
    let opt = resp.opt
    switch (opt) {
        case "onConnectSuc": {
            this.showMsg("连接成功")
        }
        break;
        case "onConnectFail": {
            this.showMsg("连接失败:" + JSON.stringify(resp))
        }
        break;
        case "onDisconnect":{
            this.showMsg("服务器断开连接:" + JSON.stringify(resp))
        }
        break;
        case "onReceiveData": {
            this.showMsg("收到数据:" + JSON.stringify(resp))
        }
        break;
        case "sendDataSuc": {
            this.showMsg("数据发送成功:" + JSON.stringify(resp))
        }
        break;
        case "sendDataFail": {
            this.showMsg("数据发送失败:" + JSON.stringify(resp))
        }
        break;
        default:
            break;
    }
})
  • 连接服务器

let params = {}
params.ip = this.ip
params.port = parseInt(this.port)
params.connectTimeout = 3000 // 毫秒
client.connect(params)
  • 发送数据

let params = {}
// data是十六进制数据,如果需要进制转换、ASCII、modbus、crc等,请使用插件https://ext.dcloud.net.cn/plugin?id=19206
params.data = [0x00, 0xFF]
// params.id = 1212 // 可选参数,数据id,如果传了id,发送成功后会回调这个id
client.sendData(params)
  • 断开连接

client.disConnect()

服务端

  • 设置回调

server.onCallback((resp) => {
    // this.showMsg(JSON.stringify(resp))
    let opt = resp.opt
    switch (opt) {
        case "onStartSuc": {
            this.showMsg("服务启动成功")
        }
        break;
        case "onStartFail": {
            this.showMsg("服务启动失败:" + JSON.stringify(resp))
        }
        break;
        case "onNewClient": {
            this.showMsg("收到一个新的连接:" + JSON.stringify(resp))

        }
        break;
        case "onReceiveData": {
            this.showMsg("收到数据:" + JSON.stringify(resp))
        }
        break;
        case "onDisconnectClient": {
            this.showMsg("某个连接断开了:" + JSON.stringify(resp))
        }
        break;
        default:
            break;
    }
})
  • 启动服务

let params = {}
params.port = parseInt(this.serverPort)
params.cacheSize = 1024 // 仅支持Android,单次接收端最大数
server.start(params)
  • 停止服务

server.stop()
  • 发送数据

let params = {}
// data是十六进制数据,如果需要进制转换、ASCII、modbus、crc等,请使用插件https://ext.dcloud.net.cn/plugin?id=19206
params.data = [0x00, 0xFF]
// params.id = 1212 // 可选参数,数据id,如果传了id,发送成功后会回调这个id
params.clientId = "xxx"
server.sendData()

隐私、权限声明

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

网络权限

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

插件不采集任何数据

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

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