UNPKG

@colyseus/ws-transport

Version:

```typescript import { Server } from "@colyseus/core"; import { WebSocketTransport } from "@colyseus/ws-transport";

25 lines (24 loc) 994 B
import http from 'http'; import WebSocket, { type ServerOptions, WebSocketServer } from 'ws'; import { Transport } from '@colyseus/core'; type RawWebSocketClient = WebSocket & { pingCount: number; }; export interface TransportOptions extends ServerOptions { pingInterval?: number; pingMaxRetries?: number; } export declare class WebSocketTransport extends Transport { protected wss: WebSocketServer; protected pingInterval: NodeJS.Timeout; protected pingIntervalMS: number; protected pingMaxRetries: number; private _originalSend; constructor(options?: TransportOptions); listen(port: number, hostname?: string, backlog?: number, listeningListener?: () => void): this; shutdown(): void; simulateLatency(milliseconds: number): void; protected autoTerminateUnresponsiveClients(pingInterval: number, pingMaxRetries: number): void; protected onConnection(rawClient: RawWebSocketClient, req: http.IncomingMessage): Promise<void>; } export {};