MeekoSocketRoom
interfaz
Instancia de la clase de salas de Socket; sus métodos públicos son los handlers y el RPC del Durable Object, que llama el runtime de Workers.
ts
import type { MeekoSocketRoom } from "@meekojs/meeko/cloudflare";Código fuente src/cloudflare.ts:613
Declaración #
ts
interface MeekoSocketRoom {
fetch(request: Request): Promise<Response>
webSocketMessage(socket: CloudflareWebSocket, message: string | ArrayBuffer): Promise<void>
webSocketClose(socket: CloudflareWebSocket, code: number, reason: string, wasClean: boolean): Promise<void>
webSocketError(socket: CloudflareWebSocket, error: unknown): Promise<void>
meekoPublish(channel: string, room: string, message: SocketMessage): Promise<void>
}Ejemplo #
ts
import type { MeekoSocketRoom } from "@meekojs/meeko/cloudflare";
const room = env.MEEKO_SOCKET.get(env.MEEKO_SOCKET.idFromName("chat\0general")) as unknown as MeekoSocketRoom;
await room.meekoPublish("chat", "general", { event: "message", payload: { text: "Hola" } });Miembros #
webSocketMessage
#
webSocketMessage(socket: CloudflareWebSocket, message: string | ArrayBuffer): Promise<void>Handler de hibernación de los mensajes entrantes.
webSocketClose
#
webSocketClose(socket: CloudflareWebSocket, code: number, reason: string, wasClean: boolean): Promise<void>Handler de hibernación de los cierres.
webSocketError
#
webSocketError(socket: CloudflareWebSocket, error: unknown): Promise<void>Handler de hibernación de los errores.
meekoPublish
#
meekoPublish(channel: string, room: string, message: SocketMessage): Promise<void>RPC que usa DurableObjectSocketPubSub; se resuelve cuando la sala acepta el mensaje.