Pesquisa de site

typescript - nextjs 14 roteador de aplicativo TRPC configuração de servidor de assinaturas websocket


Estou usando o roteador de aplicativos NextJS 14 em combinação com TRPC. Eu tenho tentado implementar o recurso de assinaturas websocket do TRPC, no entanto, encontrei pouca documentação atualizada sobre como fazê-lo.

Um recurso com o qual eu realmente me deparei foi [este repositório] (https://github.com/trpc/examples-next-prisma-websockets-starter) mantido pelos desenvolvedores do trpc, no entanto, ele não usa o app router. Nele, eles têm dois arquivos separados de destaque prodServer.ts e wssDevServer.ts em src/server/. Idealmente, haveria apenas um arquivo que servisse para configurar o servidor ws tanto para produção quanto para desenvolvimento, por que eles usam um arquivo separado para cada um aqui?

Se eu implementar o servidor de desenvolvimento no meu próprio ambiente, meus sockets se fecham instantaneamente após a conexão, pois ocorre um erro durante a função createContext chamada dentro do applyWSSHandler. Parece acontecer quando qualquer função exclusiva do lado do servidor é chamada (como cookies(), headers() ou redirect()), fazendo com que meu servidor retorne erro 500 e a conexão do socket seja fechada.

Eu gostaria de ter certeza de que estou implementando as inscrições do TRPC no meu aplicativo NextJS da forma mais eficaz possível, qualquer conhecimento é bem-vindo.