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

The*_*kov 4 websocket netlify remix.run

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

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

And*_*dre 6

据我所知,socket.io需要一个长时间运行的服务器。Netlify 功能等无服务器环境将无法工作。有多种方法可以在 AWS Lambda 上建立 websocket 连接,但我不确定 socket.io 支持此类配置。Netlify 和 Vercel 肯定不会(目前)。

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

您可以在 Remix GitHub 存储库的示例文件夹中找到一个很棒的 Remix with socket.io 示例

关于 Remix 中原生 Websocket 支持的讨论正在进行中。然而,由于 websockets 无法在大多数无服务器环境中工作,因此目前 websockets 不太可能进入 Remix。

然而,Remix 团队似乎正在致力于将服务器发送事件 (SSE) 引入其获取 API。SSE 可以作为 Websocket 的替代品。也许这可能是未来读者的另一种选择。您可以在这里找到讨论。