我有一个构建在app-router
后端之上的NextJS 13应用程序。我也使用MongoDB作为数据库。我需要在我的应用程序中实现实时聊天,将有一个单一的用户同时工作多个聊天,所以我必须为每个对话启动单独的网络套接字通道。
我尝试使用Socket-IO
实现聊天,如here中所述,但该实现依赖于axiosAPI调用来发送/接收消息,这对我来说并不理想。
我知道我必须创建一个单独的服务器来管理我的web-socket服务器,但我不完全确定什么是最好的方法来实现这一点。如果有一种简单的方法可以实现所需的功能,而不需要修改现有架构的很大一部分(可能使用Express
服务器),那就太好了。
谢谢你,谢谢
1条答案
按热度按时间4jb9z9bj1#
在socket.io无服务器环境中实现www.example.com可能相当困难,因为必须维护粘性会话和套接字的许多其他方面。为了实现您正在寻找的行为,您可以创建一个单独的Node.JS和Express服务器,正如您在问题中提到的那样。但是,另一种方法可能是使用实时数据库来处理此类事件。MongoDB不支持或实时数据库更新,但可以使用Supplement或Firebase来实现此功能。我的结论是创建一个单独的Node.js和Express服务器。