-
Notifications
You must be signed in to change notification settings - Fork 77
i_zh_app
appName: string
- 应用名称
readonly base: string
- 项目根路径
readonly env: string
- 启动环境
readonly serverId: string
- 服务器id
readonly serverType: string
- 服务器类型
readonly serverInfo: ServerInfo
- 本服务器的配置
readonly routeConfig: string[]
- 配置:route.ts
readonly masterConfig: ServerInfo
- 配置:master.ts
readonly serversConfig: { [serverType: string]: ServerInfo[] }
- 配置:servers.ts
readonly startTime: number
- 服务器启动时刻
readonly clientNum: number
- 所有的socket连接数
(前端服调用)
start(): void
- 启动服务器
rpc(serverId: string, notify?: boolean): Rpc
- rpc调用
setConfig(key: string, value: any): void
set<T = any>(key: string | number, value: T): T
- 设置键值对
get<T = any>(key: string | number): T
- 获取键值对
delete(key: string | number): void
- 删除键值对
getServersByType(serverType: string): ServerInfo[]
- 获取某一类服务器
getServerById(serverId: string): ServerInfo
- 获取某一个服务器
route(serverType: string, routeFunc: (session: Session) => string): void
- 路由配置
(前端服调用)
getSession(uid: number): Session
- 获取客户端session
(前端服调用)
getAllClients(): { [uid: number]: I_clientSocket }
- 获取本服的所有客户端
(前端服调用)
sendMsgByUid(cmd: number, msg: any, uids: number[]): void
- 向客户端发送消息
(前端服调用)
sendAll(cmd: number, msg: any): void
- 向本服的所有客户端发送消息
(前端服调用)
sendMsgByUidSid(cmd: number, msg: any, uidsid: { "uid": number, "sid": string }[]): void
- 向客户端发送消息
(后端服调用)
sendMsgByGroup(cmd: number, msg: any, group: { [sid: string]: number[] }): void
- 向客户端发送消息
(后端服调用)
configure(serverType: string, cb: () => void): void
- 配置服务器执行函数
before(filter: { "before": (cmd: number, msg: any, session: Session, cb: (hasError?: boolean) => void) => void }): void
- 消息处理前的一些前置工作
after(filter: { "after": (cmd: number, msg: any, session: Session, cb: () => void) => void }): void
- 消息处理后的一些后置工作
globalBefore(filter: { "before": (info: { cmd: number, msg: Buffer }, session: Session, cb: (hasError?: boolean) => void) => void }): void
- 消息刚达到网关服时的一些处理
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;
}