Skip to content

TcpServer

Defined in: packages/node/src/net/tcp-server.ts:53

TCP server accepting incoming connections.

Example usage:

const server = TcpServer.from();
server.subscribe("connection", (socket) => {
socket.stream.on("data", (data) => {
console.log("Received:", data.toString());
});
});
await server.listen(8080, { host: "0.0.0.0" });
// ... later
await server.close();

TServer extends net.Server = net.Server

TEvents extends TcpServerEvents = TcpServerEvents

new TcpServer<TServer, TEvents>(server): TcpServer<TServer, TEvents>

Defined in: packages/node/src/net/stream-server.ts:43

Creates a new StreamServer instance.

TServer

The underlying Node.js server.

TcpServer<TServer, TEvents>

StreamServer.constructor

get listening(): boolean

Defined in: packages/node/src/net/stream-server.ts:49

Whether the server is currently listening for connections.

boolean

StreamServer.listening


get maxConnections(): number

Defined in: packages/node/src/net/stream-server.ts:54

Maximum number of concurrent connections accepted by the server.

number

set maxConnections(maxConnections): void

Defined in: packages/node/src/net/stream-server.ts:63

Updates the maximum number of concurrent connections.

Connections accepted beyond this limit are dropped.

number

void

StreamServer.maxConnections

address(): InetEndpoint | null

Defined in: packages/node/src/net/tcp-server.ts:89

Returns the endpoint the server is bound to.

InetEndpoint | null

The bound endpoint, or null when the server is not listening.

When the server is bound to a path rather than an IP endpoint. Use IpcServer for those.


close(): Promise<void>

Defined in: packages/node/src/net/stream-server.ts:107

Stops the server from accepting new connections. Established connections are not closed; the promise resolves once the last of them ends.

Promise<void>

A promise that resolves when the server is fully closed.

When the server was not listening.

StreamServer.close


getConnections(): Promise<number>

Defined in: packages/node/src/net/stream-server.ts:72

Counts the connections currently handled by the server.

Promise<number>

A promise that resolves with the connection count.

StreamServer.getConnections


isSubscribed<K>(event, listener): boolean

Defined in: packages/async/src/events/event-dispatcher-map-base.ts:38

Check if a callback is subscribed to a specific event.

K extends string | number | symbol

K

The event name.

Callable<TEvents[K]>

The callback to check.

boolean

StreamServer.isSubscribed


listen(port, options?): Promise<void>

Defined in: packages/node/src/net/tcp-server.ts:75

Binds the server and resolves once it is listening.

number

The port to listen on. Use 0 to let the system assign one.

Additional listen options.

number

boolean

string

boolean

Default

false

boolean

boolean

AbortSignal

boolean

Promise<void>

A promise that resolves once the server is listening.

When the address is already in use or cannot be bound.


ref(): void

Defined in: packages/node/src/net/stream-server.ts:88

Marks the server as referenced, preventing the Node.js process from exiting while it is listening.

void

StreamServer.ref


subscribe<K>(event, listener, options?): Callable | null

Defined in: packages/async/src/events/event-dispatcher-map-base.ts:23

K extends string | number | symbol

K

Callable<TEvents[K]>

EventDispatcherSubscribeOptions

Callable | null

StreamServer.subscribe


unref(): void

Defined in: packages/node/src/net/stream-server.ts:96

Marks the server as unreferenced, allowing the Node.js process to exit even while it is listening.

void

StreamServer.unref


unsubscribe<K>(event, listener): void

Defined in: packages/async/src/events/event-dispatcher-map-base.ts:31

Unsubscribe a callback from a specific event.

K extends string | number | symbol

K

The event name.

Callable<TEvents[K]>

The callback to remove.

void

StreamServer.unsubscribe


wait<K>(event, options?): Promise<TEvents[K]>

Defined in: packages/async/src/events/event-dispatcher-map-base.ts:45

Wait for the next occurrence of a specific event, optionally matching a predicate.

This is a convenience method that subscribes to the dispatcher, waits for the next event that matches the predicate (if provided), and then unsubscribes automatically.

K extends string | number | symbol

K

The event name to wait for.

EventDispatcherWaitOptions<TEvents[K]>

Optional settings including predicate and abort signal.

Promise<TEvents[K]>

A promise that resolves with the event arguments as an array.

StreamServer.wait


static from(options?): TcpServer

Defined in: packages/node/src/net/tcp-server.ts:63

Creates a new TcpServer instance.

ServerOpts

Options for creating the underlying Node.js server.

TcpServer

A new TcpServer instance.