更新记录

1.0.1(2023-11-08)

更新文档

1.0.0(2023-11-03)

基础功能适配


平台兼容性

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

bunny-socket-io-client

开发文档

UTS 语法 UTS API插件 UTS 组件插件 Hello UTS

支持

基于socket.io-client-java:2.1.0

支持的socket.io服务端

Client version Socket.IO server
0.9.x 1.x
1.x 2.x
2.x 3.x / 4.x

使用

import { SOCKET_IO_CLIENT, OPTIONS } from "@/uni_modules/bunny-socket-io-client"

const map : Map<string, Array<string>> = new Map<string, Array<string>>()
map.set("tokne", ["9999", "8882222"])
const opt : OPTIONS = {
    path: "/v1/socket",
    query: "id=0&it1",
    extraHeaders: map
}
const so = new SOCKET_IO_CLIENT("ws://192.168.1.199:7004", opt)
so.on("send_end_data", (option : object | null) => {
    console.log("声明的回调", option)
})
so.connect()
so.emit("test1", "asdfasdfasdfasdfasdfasf")
// so.close()

emit 受限于uts不定长参数,目前只支持一个字符串类型的参数。后续会继续跟进更新。

创建会生成全新的连接,根据业务需求考虑是否需要单例函数来生成socket对象

OPTIONS 目前支持属性

export type OPTIONS = {
    path ?: string
    query ?: string
    forceNew ?: boolean
    multiplex ?: boolean
    extraHeaders ?: Map<string, Array<string>> | null
}

OPTIONS 的默认属性(从文档直接复制)

IO.Options options = IO.Options.builder()
    // IO factory options
    .setForceNew(false)
    .setMultiplex(true)

    // low-level engine options
    .setTransports(new String[] { Polling.NAME, WebSocket.NAME })
    .setUpgrade(true)
    .setRememberUpgrade(false)
    .setPath("/socket.io/")
    .setQuery(null)
    .setExtraHeaders(null)

    // Manager options
    .setReconnection(true)
    .setReconnectionAttempts(Integer.MAX_VALUE)
    .setReconnectionDelay(1_000)
    .setReconnectionDelayMax(5_000)
    .setRandomizationFactor(0.5)
    .setTimeout(20_000)

    // Socket options
    .setAuth(null)
    .build();

致谢

感谢 @DCLoud_Android_DQQ 提供的uts技术支持

隐私、权限声明

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

网络、后台网络保持

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

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

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