node.js - 服务器中控制器内的 Socket.js (Node.js)
问题描述
我正在使用 nodejs、reactjs mongo 和 socket.io 构建一个聊天应用程序。我的聊天应用程序包含一对一和群聊。我已经为群聊构建了一个模式,我正在插入群名及其成员和他们在表中的聊天记录。由于我是 socket.io 的初学者,我不知道在 db post 操作后需要触发的套接字逻辑放在哪里。有人可以为我推荐任何示例吗?
解决方案
相应地更新您的代码:
=> server.js文件
// Declare socket.io
const io = require('socket.io')(server);
// Add middleware to set socket.io in
app.use((req, res, next)=>{ res.locals['socketio'] = io; next(); });
=> 在你的控制器文件中
// Get the value of socket.io
module.exports = your_function_name = (req, res) => {
const io = res.locals['socketio']
// Use io when you need.
});
希望这能解决您的疑问。
推荐阅读
- php - WooCommerce:有条件地隐藏产品属性
- android - MediaScannerConnection.scanFile() 返回空 uri
- django - 如何在django中执行人口
- javascript - 同步 2 HTML 输入范围和数字
- angular - 如何使用 Renderer2 在 Angular 中使用 DOM click()
- javascript - 全局变量即使在函数中重新初始化后也返回 null
- hazelcast - jCache 提供程序功能
- git - Github API - 获取提交日期
- for-loop - 如何修改切片中结构的字段?
- vue.js - 将“检测外部点击”自定义指令从 Vue 2 迁移到 Vue 3