UNPKG

2.26 kBTypeScriptView Raw
1/// <reference types="node" />
2import * as net from 'net';
3import { EventEmitter } from 'events';
4export declare class TcpUnit extends EventEmitter {
5 sockaddr: string;
6 sock?: net.Socket;
7 host: string;
8 port: number;
9 retryCount: number;
10 private serverId;
11 recv_pool: Buffer[];
12 recv_len: number;
13 constructor(sockadd: string, sock: net.Socket | undefined, host?: string, port?: number, serverId?: string);
14 on(event: 'connection', listener: () => void): this;
15 on(event: 'data', listener: (cmd: number, info: string | Buffer) => void): this;
16 on(event: 'close', listener: (socketAddr: string, server_close: boolean) => void): this;
17 on(event: 'error', listener: (socketAddr: string, error: Error) => void): this;
18 reciveData(data: Buffer): void;
19 resetData(data: Buffer): void;
20 process(cmd: number, info: Buffer): void;
21 doParse(): void;
22 sendMsg(cmd: number, msg: string | Buffer): boolean;
23 close(): void;
24}
25/**tcp 连接的管理,负责tcp连接的响应和处理 */
26export declare class TcpServer extends EventEmitter {
27 static serPools: {
28 [sock: string]: TcpServer;
29 };
30 static create(port: number): TcpServer;
31 static getServer(sockaddr: string): TcpServer;
32 static isDispersedMode(sockaddr: string): boolean;
33 sockaddr: string;
34 private netPools;
35 getUnit(sockaddr: string): TcpUnit;
36 private isDispersedMode;
37 constructor(port: number);
38 on(event: 'connection', listener: (sockaddr: string) => void): this;
39 on(event: 'data', listener: (sockaddr: string, cmd: number, info: string | Buffer) => void): this;
40 on(event: 'close', listener: (sockaddr: string) => void): this;
41 on(event: 'error', listener: (sockaddr: string, error: Error) => void): this;
42 private onconnection;
43 pushMsg(sockaddr: string, cmd: number, msg: string | Buffer): boolean;
44 private onData;
45 private onClose;
46 private onError;
47 close(): void;
48}
49export declare class TcpSocket {
50 static create(host: string, port: number, count?: number): TcpUnit;
51 private static _createSocket;
52 static connect(sockUnit: TcpUnit): Promise<[string]>;
53 static reConnect(sockUnit: TcpUnit): void;
54}