Skip to main content
Module

x/socket_io/mod.ts>Server

Socket.IO server for Deno
Go to Latest
class Server
extends EventEmitter<ListenEvents, EmitEvents, ServerReservedEvents<ListenEvents, EmitEvents, ServerSideEvents, SocketData>>
import { Server } from "https://deno.land/x/socket_io@0.1.0/mod.ts";

Constructors

new
Server(opts?: Partial<ServerOptions & EngineOptions>)

Type Parameters

optional
ListenEvents extends EventsMap = DefaultEventsMap
optional
EmitEvents extends EventsMap = ListenEvents
optional
ServerSideEvents extends EventsMap = DefaultEventsMap
optional
SocketData = unknown

Properties

private
readonly
opts: ServerOptions
private
parentNsps: Map<ParentNspNameMatchFn, ParentNamespace<ListenEvents, EmitEvents, ServerSideEvents, SocketData>>
readonly
_encoder: Encoder
_nsps: Map<string, Namespace<ListenEvents, EmitEvents, ServerSideEvents, SocketData>>
readonly
engine: Engine
readonly
local: BroadcastOperator<EmitEvents, SocketData>

Sets a modifier for a subsequent event emission that the event data will only be broadcast to the current node.

readonly
mainNamespace: Namespace<ListenEvents, EmitEvents, ServerSideEvents, SocketData>
readonly
volatile: BroadcastOperator<EmitEvents, SocketData>

Sets a modifier for a subsequent event emission that the event data may be lost if the client is not ready to receive messages (because of network slowness or other issues, or because they’re connected through long polling and is in the middle of a request-response cycle).

Methods

_checkNamespace(name: string, auth: Record<string, unknown>): Promise<void>

Executes the middleware for an incoming namespace not already created on the server.

Closes the server

disconnectSockets(close?): void

Makes the matching socket instances disconnect

except(name: Room | Room[]): BroadcastOperator<EmitEvents, SocketData>

Excludes a room when emitting.

fetchSockets(): Promise<RemoteSocket<EmitEvents, SocketData>[]>

Returns the matching socket instances

handler(additionalHandler?: Handler)

Returns a request handler.

in(room: Room | Room[]): BroadcastOperator<EmitEvents, SocketData>

Targets a room when emitting.

of(name: string | RegExp | ParentNspNameMatchFn): Namespace<ListenEvents, EmitEvents, ServerSideEvents, SocketData>

Looks up a namespace.

send(...args: EventParams<EmitEvents, "message">): this

Sends a message event to all clients.

serverSideEmit<Ev extends EventNames<ServerSideEvents>>(ev: Ev, ...args: EventParams<ServerSideEvents, Ev>): boolean

Emit a packet to other Socket.IO servers

socketsJoin(room: Room | Room[]): void

Makes the matching socket instances join the specified rooms

socketsLeave(room: Room | Room[]): void

Makes the matching socket instances leave the specified rooms

timeout(timeout: number): BroadcastOperator<EmitEvents, SocketData>

Adds a timeout in milliseconds for the next operation

to(room: Room | Room[]): BroadcastOperator<EmitEvents, SocketData>

Targets a room when emitting.

use(fn: (socket: Socket<ListenEvents, EmitEvents, ServerSideEvents, SocketData>) => Promise<void>): this

Sets up namespace middleware.