Remix - 如何将 websocket 添加到我的项目中

Remix - How to add websocket to my project

我在 remix.run 上开始了一个独立堆栈项目,我想添加 websocket.io。 我想在未来部署到 Netlify。你能帮帮我吗,我是新手,真的不知道该怎么做。

我发现可以使用“express”选项启动独立堆栈项目,但我不知道它是否与 netlify 兼容。

据我所知,socket.io 需要 long-running 服务器。 Netlify 函数等无服务器环境将无法运行。有多种方法可以在 AWS Lambda 上建立 websocket 连接,但我不确定 socket.io 是否支持此类配置。 Netlify 和 Vercel 肯定不会(在这一点上)。

现在,使用带有快速适配器的 Remix。选择一个与 express 一起工作的堆栈,然后您可以像在任何其他 express 服务器和 React 客户端项目上一样简单地集成 socket.io。

您可以在 Remix GitHub 存储库的示例文件夹中找到 great Remix with socket.io example

有一个 ongoing discussion 关于 Remix 中的原生 websocket 支持。但是,由于 websockets 无法在大多数无服务器环境中运行,因此目前 websockets 不太可能进入 Remix。

但是,Remix 团队似乎正在努力将 Server-Sent-Events (SSE) 引入其 fetch API。 SSE 可以作为 websockets 的替代品。也许这可以成为未来读者的另一种选择。你可以找到讨论 here.