Options
All
  • Public
  • Public/Protected
  • All
Menu

Class TinyWsClient

websocket封装

description


feature: 1. 断线重连
example
const client = TinyWs.connect("wss://echo.websocket.org");
client.on("connect", () => {
    console.log("connect to server");
    client.sendMessage({ role: 1, message: "hello!" });
});
client.on("error", (err) => console.log("出错", err));

client.on("reconnecting", () => console.log("开始重连..."));
client.on("reconnect", () => console.log("重连成功"));
client.on("reconnect_fail", () => console.log("重连失败"));

client.on("once_reconnecting", () => console.log("单次开始重连..."));
client.on("once_reconnect", () => console.log("单次重连成功"));
client.on("once_reconnect_fail", () => console.log("单次重连失败"));

client.on("message", (data) => console.log("new message", data));

// 使用connectSync
(async () => {
    const ins = await TinyWs.connectSync("wss://echo.websocket.org");
    ins.sendMessage("sssss");
    ins.on("message", (data) => {
        console.log("new message", data);
    });
})();

Hierarchy

Index

Constructors

constructor

Properties

Protected _listener

_listener: any = {} as any

beActive

beActive: boolean = true

激活/禁用 事件管理器,在激活状态下,触发事件才会触发监听器

Private client

client: { close: () => void; ins: WebSocket }

Type declaration

  • close: () => void
      • (): void
      • Returns void

  • ins: WebSocket

Private options

options: Omit<Required<IwsOpts>, "listeners">

Private url

url: string

Accessors

beOpen

  • get beOpen(): boolean

Methods

Private _onceConnect

  • _onceConnect(): Promise<WebSocket>

Private _receiveMessage

  • _receiveMessage(msg: string | ArrayBuffer | SharedArrayBuffer | Blob | ArrayBufferView): void
  • Parameters

    • msg: string | ArrayBuffer | SharedArrayBuffer | Blob | ArrayBufferView

    Returns void

Private _sendMessage

  • _sendMessage(data: string | ArrayBuffer | SharedArrayBuffer | Blob | ArrayBufferView): void
  • Parameters

    • data: string | ArrayBuffer | SharedArrayBuffer | Blob | ArrayBufferView

    Returns void

Private attachWs

  • attachWs(ws: WebSocket): void

dispose

  • dispose(): void

emit

  • emit<K>(ev: K, params?: WSClientEventMap[K]): void

off

  • off<K>(ev: K, callback: (ev: WSClientEventMap[K]) => void): void
  • 取消对指定事件的监听

    Type parameters

    Parameters

    • ev: K

      事件str

    • callback: (ev: WSClientEventMap[K]) => void

      监听函数

        • (ev: WSClientEventMap[K]): void
        • Parameters

          • ev: WSClientEventMap[K]

          Returns void

    Returns void

on

  • on<K>(ev: K, callback: (ev: WSClientEventMap[K]) => void): void
  • 为指定事件添加一个监听器到监听器数组的尾部

    Type parameters

    Parameters

    • ev: K

      事件str

    • callback: (ev: WSClientEventMap[K]) => void

      监听函数

        • (ev: WSClientEventMap[K]): void
        • Parameters

          • ev: WSClientEventMap[K]

          Returns void

    Returns void

Private onclose

  • onclose(ev: CloseEvent): void
  • Parameters

    • ev: CloseEvent

    Returns void

Private onerror

  • onerror(ev: Event): void

Protected onmessage

  • onmessage(ev: MessageEvent): void
  • Parameters

    • ev: MessageEvent

    Returns void

Private onopen

  • onopen(ev: Event): void

Private reconnect

  • reconnect(): Promise<void>

removeAllListeners

  • removeAllListeners(): void

removeEventListeners

  • removeEventListeners<K>(ev: K): void

sendMessage

  • sendMessage(data: any): void
  • 发送消息。注意:未建立连接,会发送失败

    Parameters

    • data: any

    Returns void

Static connect

  • connect<T>(this: {}, url: string, options?: IwsOpts): T
  • 创建wsClient, 不需要等待连接建立

    Type parameters

    • T

    Parameters

    • this: {}
    • url: string

      ws服务器地址

    • Optional options: IwsOpts

    Returns T

Static connectSync

  • 创建wsClient,等待连接建立

    Parameters

    • url: string

      ws服务器地址

    • Optional options: IwsOpts

    Returns Promise<TinyWsClient>

Object literals

interceptors

interceptors: object

receive

receive: Interceptor<any> = new Interceptor(this._receiveMessage)

send

send: Interceptor<any> = new Interceptor(this._sendMessage)

Generated using TypeDoc