【发布时间】:2020-01-27 03:44:54
【问题描述】:
我构建了一个简单的 node.js / socket.io 应用程序。 我需要一个模块来发出事件,该模块可以通过其他模块访问,这样我就可以在有新的数据库条目时发送套接字消息。
类似这样的:
function sendWebsocketEvent (whereToSend, EventName, Payload) {
io.in(whereToSend).emit(EventName, Payload)
}
我该如何处理?
我试过了:
-- app.js--
// Websockets
var http = require('http').createServer(app)
var io = require('socket.io')(http)
http.listen(3000, function () {
console.log('listening on Port *:3000')
})
require('./WebSockets/socketInit')(io)
-- socketInit.js--
module.exports = (ioInput) => {
const io = ioInput
return io
}
-- sendSockets.js--
const io = require('./socketInit')
module.exports = {
sendWebsocketEvent (whereToSend, EventName, Payload) {
io.in(whereToSend).emit(EventName, Payload)
}
}
我试图在另一个模块中调用这个函数:
const sendSockets = require('../WebSockets/sendSockets')
.
.
.
sendSockets.sendWebsocketEvent('user', 'databaseUpdate', 'dataToSend')
.
.
.
但这不起作用。
还有其他方法可以完成这项工作吗?
- 克里斯
【问题讨论】:
-
请参考我最近在socket.io上添加的文章,这可以帮助你:github.com/sarveshmahajan89/My-Chat-App
标签: javascript node.js socket.io