UNPKG

laya-coreui-es

Version:

laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改

139 lines (138 loc) 6.18 kB
import { EventDispatcher } from "../events/EventDispatcher"; /** * 连接建立成功后调度。 * @eventType Event.OPEN * */ /** * 接收到数据后调度。 * @eventType Event.MESSAGE * */ /** * 连接被关闭后调度。 * @eventType Event.CLOSE * */ /** * 出现异常后调度。 * @eventType Event.ERROR * */ /** * <p> <code>Socket</code> 封装了 HTML5 WebSocket ,允许服务器端与客户端进行全双工(full-duplex)的实时通信,并且允许跨域通信。在建立连接后,服务器和 Browser/Client Agent 都能主动的向对方发送或接收文本和二进制数据。</p> * <p>要使用 <code>Socket</code> 类的方法,请先使用构造函数 <code>new Socket</code> 创建一个 <code>Socket</code> 对象。 <code>Socket</code> 以异步方式传输和接收数据。</p> */ export declare class Socket extends EventDispatcher { /** * <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。</p> * <p> LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。</p> * <p> BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。</p> */ static LITTLE_ENDIAN: string; /** * <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。</p> * <p> BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。</p> * <p> LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。</p> */ static BIG_ENDIAN: string; /**@private */ protected _socket: any; /**@private */ private _connected; /**@private */ private _addInputPosition; /**@private */ private _input; /**@private */ private _output; /** * 不再缓存服务端发来的数据,如果传输的数据为字符串格式,建议设置为true,减少二进制转换消耗。 */ disableInput: boolean; /** * 用来发送和接收数据的 <code>Byte</code> 类。 */ private _byteClass; /** * <p>子协议名称。子协议名称字符串,或由多个子协议名称字符串构成的数组。必须在调用 connect 或者 connectByUrl 之前进行赋值,否则无效。</p> * <p>指定后,只有当服务器选择了其中的某个子协议,连接才能建立成功,否则建立失败,派发 Event.ERROR 事件。</p> * @see https://html.spec.whatwg.org/multipage/comms.html#dom-websocket */ protocols: any; /** * 缓存的服务端发来的数据。 */ get input(): any; /** * 表示需要发送至服务端的缓冲区中的数据。 */ get output(): any; /** * 表示此 Socket 对象目前是否已连接。 */ get connected(): boolean; /** * <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。</p> * <p> LITTLE_ENDIAN :小端字节序,地址低位存储值的低位,地址高位存储值的高位。</p> * <p> BIG_ENDIAN :大端字节序,地址低位存储值的高位,地址高位存储值的低位。</p> */ get endian(): string; set endian(value: string); /** * <p>创建新的 Socket 对象。默认字节序为 Socket.BIG_ENDIAN 。若未指定参数,将创建一个最初处于断开状态的套接字。若指定了有效参数,则尝试连接到指定的主机和端口。</p> * @param host 服务器地址。 * @param port 服务器端口。 * @param byteClass 用于接收和发送数据的 Byte 类。如果为 null ,则使用 Byte 类,也可传入 Byte 类的子类。 * @param protocols 子协议名称。子协议名称字符串,或由多个子协议名称字符串构成的数组 * @see laya.utils.Byte */ constructor(host?: string | null, port?: number, byteClass?: new () => any, protocols?: any[] | null); /** * <p>连接到指定的主机和端口。</p> * <p>连接成功派发 Event.OPEN 事件;连接失败派发 Event.ERROR 事件;连接被关闭派发 Event.CLOSE 事件;接收到数据派发 Event.MESSAGE 事件; 除了 Event.MESSAGE 事件参数为数据内容,其他事件参数都是原生的 HTML DOM Event 对象。</p> * @param host 服务器地址。 * @param port 服务器端口。 */ connect(host: string, port: number): void; /** * <p>连接到指定的服务端 WebSocket URL。 URL 类似 ws://yourdomain:port。</p> * <p>连接成功派发 Event.OPEN 事件;连接失败派发 Event.ERROR 事件;连接被关闭派发 Event.CLOSE 事件;接收到数据派发 Event.MESSAGE 事件; 除了 Event.MESSAGE 事件参数为数据内容,其他事件参数都是原生的 HTML DOM Event 对象。</p> * @param url 要连接的服务端 WebSocket URL。 URL 类似 ws://yourdomain:port。 */ connectByUrl(url: string): void; /** * 清理Socket:关闭Socket链接,关闭事件监听,重置Socket */ cleanSocket(): void; /** * 关闭连接。 */ close(): void; /** * @private * 连接建立成功 。 */ protected _onOpen(e: any): void; /** * @private * 接收到数据处理方法。 * @param msg 数据。 */ protected _onMessage(msg: any): void; /** * @private * 连接被关闭处理方法。 */ protected _onClose(e: any): void; /** * @private * 出现异常处理方法。 */ protected _onError(e: any): void; /** * 发送数据到服务器。 * @param data 需要发送的数据,可以是String或者ArrayBuffer。 */ send(data: any): void; /** * 发送缓冲区中的数据到服务器。 */ flush(): void; }