更新记录
1.0.0(2025-01-06)
websocket,包含客户端和服务端,支持收发字符串和字节码
平台兼容性
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,包含客户端和服务端,支持收发字符串和字节码
开发文档
- 集成插件步骤请参考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;
}
})
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)