Ich bin ein wenig verwirrt;NodeJS, socketIO, mehrere Dateien
Ich möchte SocketIO auf NodeJS App verwenden. Ich habe diese (Pseudo-) Code erstellt:
//server.js
var app = express();
//some code...
var router = require('./app/router');
app.use(router);
var server = app.listen(appConfig.app.port, function() {
var port = server.address().port;
});
var io = require('socket.io')(server);
io.on('connection', function (client) {
console.log('Client connected...');
client.on('join', function (data) {
console.log(data);
});
});
//client.js
var socket = io.connect('http://localhost:5555');
socket.on('connect', function(data) {
socket.emit('join', 'Hello World from client');
});
Alles ist in Ordnung. Aber !
Jetzt möchte ich Ereignis in einer anderen Datei ausgeben. Ich habe Router und POST-Anfrage. Ich möchte Ereignis bei POST-Anfrage ausgeben (Anfrage-Handler ist in einer anderen Datei).
//router.js
router.route("/addmenu").post(function (req, res) {
menuModel.addMenu(req.body,function(data){
//I WANT EMIT HERE
res.json(data)
});
};
);
Ich habe Router initialisiert werden vor dem Start Server, aber ich habe Server IO passieren ... Wie IO passieren Router?
Haben Sie das Ereignis an alle angeschlossenen Clients von Ihrer Route Rückruf emittieren wollen? – jahnestacado