Skip to content

i_zh_app

huangjizhong edited this page Nov 17, 2022 · 4 revisions

Application类

appName

appName: string

  • 应用名称

base

readonly base: string

  • 项目根路径

env

readonly env: string

  • 启动环境

serverId

readonly serverId: string

  • 服务器id

serverType

readonly serverType: string

  • 服务器类型

serverInfo

readonly serverInfo: ServerInfo

  • 本服务器的配置

routeConfig

readonly routeConfig: string[]

  • 配置:route.ts

masterConfig

readonly masterConfig: ServerInfo

  • 配置:master.ts

serversConfig

readonly serversConfig: { [serverType: string]: ServerInfo[] }

  • 配置:servers.ts

startTime

readonly startTime: number

  • 服务器启动时刻

clientNum

readonly clientNum: number

  • 所有的socket连接数(前端服调用)

start()

start(): void

  • 启动服务器

rpc()

rpc(serverId: string, notify?: boolean): Rpc

  • rpc调用

setConfig()

setConfig(key: string, value: any): void

set()

set<T = any>(key: string | number, value: T): T

  • 设置键值对

get()

get<T = any>(key: string | number): T

  • 获取键值对

delete()

delete(key: string | number): void

  • 删除键值对

getServersByType()

getServersByType(serverType: string): ServerInfo[]

  • 获取某一类服务器

getServerById()

getServerById(serverId: string): ServerInfo

  • 获取某一个服务器

route()

route(serverType: string, routeFunc: (session: Session) => string): void

  • 路由配置(前端服调用)

getSession()

getSession(uid: number): Session

  • 获取客户端session(前端服调用)

getAllClients()

getAllClients(): { [uid: number]: I_clientSocket }

  • 获取本服的所有客户端(前端服调用)

sendMsgByUid()

sendMsgByUid(cmd: number, msg: any, uids: number[]): void

  • 向客户端发送消息(前端服调用)

sendAll()

sendAll(cmd: number, msg: any): void

  • 向本服的所有客户端发送消息(前端服调用)

sendMsgByUidSid()

sendMsgByUidSid(cmd: number, msg: any, uidsid: { "uid": number, "sid": string }[]): void

  • 向客户端发送消息(后端服调用)

sendMsgByGroup()

sendMsgByGroup(cmd: number, msg: any, group: { [sid: string]: number[] }): void

  • 向客户端发送消息(后端服调用)

configure()

configure(serverType: string, cb: () => void): void

  • 配置服务器执行函数

before()

before(filter: { "before": (cmd: number, msg: any, session: Session, cb: (hasError?: boolean) => void) => void }): void

  • 消息处理前的一些前置工作

after()

after(filter: { "after": (cmd: number, msg: any, session: Session, cb: () => void) => void }): void

  • 消息处理后的一些后置工作

globalBefore()

globalBefore(filter: { "before": (info: { cmd: number, msg: Buffer }, session: Session, cb: (hasError?: boolean) => void) => void }): void

  • 消息刚达到网关服时的一些处理

on()

on(event: "onAddServer" | "onRemoveServer", cb: (serverInfo: ServerInfo) => void): void

  • 监听事件(添加服务器,移除服务器)

on(event: "onStartAll", cb: () => void): void

  • 监听事件(服务器全部启动成功)

服务器信息

interface ServerInfo {
    /**
     * 服务器id
     */
    readonly "id": string;
    /**
     * host
     */
    readonly "host": string;
    /**
     * port
     */
    readonly "port": number;
    /**
     * 是否是前端服务器
     */
    readonly "frontend": boolean;
    /**
     * clientPort
     */
    readonly "clientPort": number;
    /**
     * 服务器类型 [注:由框架内部赋值]
     */
    readonly "serverType": string;

    [key: string]: any;
}