createServerSocketRegistry
función Since 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";Source code src/server/socket/runtime.ts:675
Firma #
function createServerSocketRegistry<C extends Record<string, SocketContract>>(contracts: C, options?: ServerSocketRegistryOptions): ServerSocketRegistry<C>Type parameters #
-
Cextends Record<string, SocketContract>
Parameters #
-
contractsC Contratos públicos por nombre de canal.
-
optionsServerSocketRegistryOptionsoptional Hub explícito para el trabajo fuera de una petición.
Returns #
-
ServerSocketRegistry<C> El registro tipado.
Throws #
-
Error Desde
broadcast, sinoptions.huby fuera de una petición o de un handler de Socket de una aplicación con canales.
Example #
// 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;
},
});See also #
- Broadcast from the server Framework full-stack