Skip to content
Meeko
Type to search the guides and the API reference. Open it from any page with / or Ctrl K; move with the arrow keys and open a result with Enter.
Get started

Contents

On this page

Not translated yet

This page has not been translated into English yet, so it is shown in Spanish.

SocketHub

interfaz

Hub de Socket: autoriza handshakes, acepta conexiones y reparte broadcasts. El host hace el upgrade HTTP y le pasa el peer conectado.

ts
import type { SocketHub } from "@meekojs/meeko/server";

Source code src/server/socket/runtime.ts:283

Declaración #

ts
interface SocketHub {
	preflight(name: string, request: Request, roomId?: string): Promise<void>
	accept(name: string, request: Request, peer: SocketPeer, roomId?: string): Promise<SocketConnection>
	broadcast(name: string, roomId: string, event: string, payload: unknown): Promise<void>
}

Example #

ts
// Un broadcast desde una API o una tarea programada.
await hub.broadcast("chat", "general", "message", { text: "Mantenimiento en 5 minutos" });

Miembros #

preflight #

método

preflight(name: string, request: Request, roomId?: string): Promise<void>

Comprueba canal, Origin, sesión y autorización antes del upgrade; rechaza con ApiError.

accept #

método

accept(name: string, request: Request, peer: SocketPeer, roomId?: string): Promise<SocketConnection>

Acepta un peer; se resuelve cuando la conexión ya está suscrita a su canal y sala.

broadcast #

método

broadcast(name: string, roomId: string, event: string, payload: unknown): Promise<void>

Valida el evento y se resuelve cuando el broker lo acepta. Rechaza con SOCKET_LIMIT_EXCEEDED (413), antes de publicar, si el mensaje serializado supera maxMessageBytes. Cada peer lo recibe como mucho una vez; un peer que falla se cierra y se informa con onDeliveryError en el hub que lo tiene.

See also #

Was this page helpful?

Add a comment

It is sent when you choose “Yes” or “No”. Only the page, your answer and the comment are stored: no cookies and no personal data.

0 of 2000 characters

Edit on GitHub: packages/meeko/src/server/socket/runtime.ts