我想在我的MERN应用程序中发送真实的通知。我正在使用socket.io。我感到困惑的是,如果我想在多条路线上使用socket.io,我应该在哪里初始化它?以及我如何使用它。
每次发生某个事件,我都想通过一个发布路径通知用户,这样的发布路径有很多,所以我的问题是,我的www.example.com应该在哪里初始socket.io为多用途,应该怎么使用,请给予我代码,让我明白。
目前,我正在初始化我的socket.io后,我的服务器与我的数据库连接如下
mongoose
.connect(process.env.MongoDb_Url)
.then(() => {
const io = socket(
app.listen(5000, () => console.log("Server And Database Are Running")),
{
cors: {
origin: "http://localhost:3000",
},
}
);
io.on("connection", (socket) => {
socket.on("message", async (message) => {
const messageCreated = await chatModel.create({ ...message });
socket.emit("createdMessage", messageCreated);
});
});
})
.catch((error) => console.log(error.message));
现在我该怎么办?
1条答案
按热度按时间voase2hg1#
您可以首先使用以下命令将io设置为可在所有文件中评估:
然后,您可以在任何可以访问应用程序对象的地方使用它。
对于控制器,你可以做一个中间件如下: