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.

SocketClient

interfaz

Cliente tipado de un canal Socket. La entrega es como mucho una vez: emit rechaza si está desconectado, sin cola ni reenvío, y reconecta con retroceso.

ts
import type { SocketClient } from "@meekojs/meeko/framework";

Source code src/app/runtime/socket.ts:105

Declaración #

ts
interface SocketClient<C extends SocketContract> {
	readonly state: ReadonlySignal<SocketClientState>
	emit<K extends keyof C['clientToServer'] & string>(event: K, data: SchemaInput<C['clientToServer'][K]>): Promise<void>
	on<K extends keyof C['serverToClient'] & string>(event: K, listener: (data: SchemaOutput<C['serverToClient'][K]>) => void): () => void
	close(): void
}

Type parameters #

C extends SocketContract

Example #

ts
const chat = socket.chat;
const stop = chat.on("message", (message) => console.log(message.text));
await chat.emit("message", { text: "Hola", roomId: "general" });
stop();
chat.close();

Miembros #

state #

propiedad sólo lectura

readonly state: ReadonlySignal<SocketClientState>

Estado de la conexión. "unauthorized" (desde 1.1.0) es terminal: el servidor rechazó la autenticación o la autorización y el cliente no reintenta; close() lo pasa a "closed".

emit #

método

emit<K extends keyof C['clientToServer'] & string>(event: K, data: SchemaInput<C['clientToServer'][K]>): Promise<void>

Valida y envía un evento; rechaza si el socket no está abierto o el payload no es válido.

on #

método

on<K extends keyof C['serverToClient'] & string>(event: K, listener: (data: SchemaOutput<C['serverToClient'][K]>) => void): () => void

Escucha un evento del servidor ya validado; devuelve la función que deja de escucharlo.

close #

método

close(): void

Cierra la conexión y deja de reconectar.

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/app/runtime/socket.ts