typescript - nextjs 14 app router TRPC websocket subscriptions thiết lập máy chủ
Tôi đang sử dụng nextJS 14 app router kết hợp với TRPC. Tôi đã cố gắng triển khai tính năng đăng ký websocket của TRPC, tuy nhiên tôi đã tìm thấy rất ít tài liệu cập nhật về cách thực hiện điều đó.
Một tài nguyên mà tôi đã tình cờ tìm thấy là [kho này] (https://github.com/trpc/examples-next-prisma-websockets-starter) được duy trì bởi các nhà phát triển của trpc, tuy nhiên nó không sử dụng app router. Trong đó, họ có hai tệp riêng biệt đáng chú ý là prodServer.ts & wssDevServer.ts trong src/server/. Lý tưởng sẽ chỉ có một tệp phục vụ để thiết lập máy chủ ws cho cả sản xuất và phát triển, tại sao ở đây họ lại sử dụng một tệp riêng cho mỗi môi trường?
Nếu tôi triển khai máy chủ phát triển trong môi trường của riêng mình, các kết nối socket của tôi ngay lập tức bị đóng sau khi kết nối vì xảy ra lỗi trong hàm createContext được gọi bên trong applyWSSHandler. Dường như lỗi xảy ra khi bất kỳ hàm chỉ dành cho phía máy chủ nào được gọi (chẳng hạn như cookies(), headers() hoặc redirect()), khiến máy chủ của tôi bị lỗi 500 và kết nối socket bị đóng.
Tôi muốn chắc chắn rằng tôi đang triển khai các subscriptions của TRPC vào ứng dụng NextJS của mình một cách hiệu quả nhất có thể, mọi kiến thức đều được đánh giá cao.