createServerSocketRegistry
función Desde 1.2.0
Crea el registro socket de los clientes de servidor: cada canal ofrece
broadcast(roomId, event, payload), tipado por su contrato público y validado por el hub con la
definición del canal. Sin options.hub, publica en el hub de la aplicación de la petición HTTP
(API, RPC, páginas y middleware, también su trabajo asíncrono, como platform.waitUntil) o del
handler de Socket en curso. Los clientes generados lo usan para el autoimport socket de
servidor.
import { createServerSocketRegistry } from "@meekojs/meeko/server";Código fuente src/server/socket/runtime.ts:675
Firma #
function createServerSocketRegistry<C extends Record<string, SocketContract>>(contracts: C, options?: ServerSocketRegistryOptions): ServerSocketRegistry<C>Parámetros de tipo #
-
Cextends Record<string, SocketContract>
Parámetros #
-
contractsC Contratos públicos por nombre de canal.
-
optionsServerSocketRegistryOptionsopcional Hub explícito para el trabajo fuera de una petición.
Devuelve #
-
ServerSocketRegistry<C> El registro tipado.
Lanza #
-
Error Desde
broadcast, sinoptions.huby fuera de una petición o de un handler de Socket de una aplicación con canales.
Ejemplo #
// server/api/orders/[id]/ready.post.ts, con el autoimport `socket` de servidor
import { defineApiRoute } from "@meekojs/meeko/server";
import { orderParams, orderSchema } from "../../../../shared/schemas/order.js";
import { markReady } from "../../../utils/orders.js";
export default defineApiRoute({
params: orderParams,
response: orderSchema,
handler: async ({ params }) => {
const order = await markReady(params.id);
await socket.operations.broadcast(order.storeId, "kitchenChanged", { orderId: order.id, status: "ready" });
return order;
},
});Véase también #
- Broadcast desde el servidor Framework full-stack