Socket.D v2.5.12

SocketD 接口字典

</> markdown

Js 原码是基于模块进行开发的。所以 SocketD 集成了关键对象的创建(就不需要再导入模块了)。

  • SocketD
接口描述
SocketD.version()框架版本号。(各语言和平台统一)
SocketD.protocolVersion()协议版本号。(一般不会变)
SocketD.createClient(serverUrl:string)创建客户端。如果不支持协议,会异常
SocketD.createClientOrNull(serverUrl:string)创建客户端。如果不支持协议,返回null
SocketD.createClusterClient(serverUrls: string[] | string)创建集群客户端
SocketD.newEntity(data?: String | File | Blob | ArrayBuffer)创建实体
SocketD.newSimpleListener()创建简单临听器
SocketD.newEventListener()创建事件监听器
SocketD.newPathListener()创建路径监听器(一般用于服务端)
SocketD.newPipelineListener()创建管道监听器
SocketD.EntityMetas常用元信息字典
  • SocketD.EntityMetas 常用元信息字典
 {
    /**
     * 框架版本号
     */
    META_SOCKETD_VERSION: "SocketD",
    /**
     * 数据长度
     */
    META_DATA_LENGTH: "Data-Length",
    /**
     * 数据类型
     */
    META_DATA_TYPE: "Data-Type",
    /**
     * 数据分片索引
     */
    META_DATA_FRAGMENT_IDX: "Data-Fragment-Idx",
    /**
     * 数据分片总数
     */
    META_DATA_FRAGMENT_TOTAL: "Data-Fragment-Total",
    /**
     * 数据描述之文件名
     */
    META_DATA_DISPOSITION_FILENAME: "Data-Disposition-Filename",
    /**
     * 数据范围开始(相当于分页)
     */
    META_RANGE_START: "Data-Range-Start",
    /**
     * 数据范围长度
     */
    META_RANGE_SIZE: "Data-Range-Size",
}
  • Entity 实体接口字典
interface Entity {
    /**
     * 获取元信息字符串(queryString style)
     */
    metaString(): string;
    /**
     * 获取元信息字典
     */
    metaMap(): Map<string, string>;
    /**
     * 获取元信息
     */
    meta(name: string): string | null;
    /**
     * 获取元信息或默认
     */
    metaOrDefault(name: string, def: string): string;
    /**
     * 获取元信息并转为 int
     */
    metaAsInt(name: string): number;
    /**
     * 获取元信息并转为 float
     */
    metaAsFloat(name: string): number;
    /**
     * 添加元信息
     * */
    putMeta(name: string, val: string | null): any;
    /**
     * 删除元信息
     * */
    delMeta(name: string): any;
    /**
     * 获取数据
     */
    data(): Buffer;
    /**
     * 获取数据并转为读取器
     */
    dataAsReader(): CodecReader;
    /**
     * 获取数据并转为字符串
     */
    dataAsString(): string;
    /**
     * 获取数据长度
     */
    dataSize(): number;
    /**
     * 释放资源
     */
    release(): any;
}
  • Reply 答复实体接口字典
interface Reply extends Entity {
    /**
     * 流Id
     */
    sid(): string;
    /**
     * 是否答复结束
     */
    isEnd(): boolean;
}
  • Message 消息接口字典
interface Message extends Entity {
    /**
     * At player name
     *
     * @since 2.1
     */
    atName(): any;
    /**
     * 范围开始
     * */
    rangeStart(): number;
    /**
     * 范围大小
     * */
    rangeSize(): number;
    /**
     * 是否为请求
     */
    isRequest(): boolean;
    /**
     * 是否为订阅
     */
    isSubscribe(): boolean;
    /**
     * 获取消息流Id(用于消息交互、分片)
     */
    sid(): string;
    /**
     * 获取消息事件
     */
    event(): string;
    /**
     * 获取消息实体(有时需要获取实体)
     */
    entity(): Entity | null;
}