更新记录

1.0.0(2025-01-06)

websocket,包含客户端和服务端,支持收发字符串和字节码


平台兼容性

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

websocket,包含客户端和服务端,支持收发字符串和字节码

开发文档

  1. 集成插件步骤请参考https://www.cnblogs.com/wenrisheng/p/18323027

接口

import {
    UTSWebSocket,
    UTSWebSocketServer
} from "@/uni_modules/wrs-uts-websocket"
// 客户端
let webSocket = new UTSWebSocket()

// 服务端(服务端目前进支持Android,暂不支持iOS)
let webSocketServer = new UTSWebSocketServer()

WebSocket客户端

  • 设置客户端的回调

// 设置客户端的回调
webSocket.onCallback((resp) => {
    this.showMsg(JSON.stringify(resp))
    let opt = resp.opt
    switch (opt) {
        case "onOpen": {
            // 连接成功
        }
        break;
        case "onMessage": {
            // 收到消息
            let type = resp.type
            let data = resp.data
            switch (type) {
                // 收到字符串
                case "string": {

                }
                break;
                // 收到字节流
                case "byte": {

                }
                break;
                default:
                    break;
            }
        }
        break;
        case "onClose": {
            // 断开连接
        }
        break;
        case "onError": {
            // 连接出错
        }
        break;
        default:
            break;
    }
})
  • 客户端连接ws服务器

let params = {}
params.url = this.url // ws地址,如ws://192.168.0.101:8088
params.headers = { // 自定义请求头
    token: ""
}
params.timeout = 5 // 连接超时时间
webSocket.connect(params)
  • 客户端发送数据给服务器

// 发送字符串
let params = {}
params.type = "string" // 字符串类型
params.data = "xxxx"
webSocket.sendData(params)

// 发送字节码
let params = {}
params.type = "byte" // 字节码类型
params.data = [0x01, 0xFF]
webSocket.sendData(params)
  • 断开连接

webSocket.disconnect()

WebSocket服务端,仅支持Android

  • 设置服务端的回调

// 设置服务端的回调
webSocketServer.onCallback((resp) => {
    this.showMsg(JSON.stringify(resp))
    let opt = resp.opt
    switch (opt) {
        case "onStart": {
            // 服务启动成功
        }
        break;
        case "onOpen": {
            // 收到新的客户端连接
            let client = resp.client
            let host = client.host

        }
        break;
        case "onMessage":
        {
            let data = resp.data
           let type = resp.type
           let id = resp.client.id
           switch (type) {
            // 收到字符串
            case "string": {

            }
            break;
            // 收到字节流
            case "byte": {

            }
            break;
            default:
                break;
           }

           // 发送数据给客户端
           let params = {}
           params.id = id
           params.data = data
           params.type = type
           webSocketServer.sendData(params)
        }
        break;
        case "onClose": {
            // 客户端断开连接
        }
        break;
        case "onError": {
            // 客户端出错
        }
        break;
        default:
            break;
    }
})
  • 启动服务

let params = {}
// 端口
params.port = 8088
webSocketServer.start(params)
  • 停止服务

webSocketServer.stop()
  • 发送数据给客户端

// 发送数据给客户端,data和type参考客户端的sendData接口
let params = {}
params.id = id
params.data = data
params.type = type // 支持string、byte
webSocketServer.sendData(params)

隐私、权限声明

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

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

插件不采集任何数据

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

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