Saltar al contenido
Meeko
Escribe para buscar en las guías y en la referencia de la API. Ábrela desde cualquier página con / o Ctrl K; muévete con las flechas y entra con Intro.
Empezar

Contenidos

En esta página

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";

Código fuente 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>
}

Ejemplo #

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.

Véase también #

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres

Editar en GitHub: packages/meeko/src/server/socket/runtime.ts