laya-coreui-es
Version:
laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改
139 lines (138 loc) • 6.18 kB
TypeScript
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;
}