0
我似乎缺乏對如何構造節點模塊的理解。我有以下app.js
。在node.js中構造模塊和socket.io
var io = require('socket.io')(http);
io.on('connection', function(socket){
socket.on('disconnect', function(){
console.log('user disconnected');
});
console.log("New user " + socket.id);
users.push(socket.id);
io.sockets.emit("user_count", users.length);
});
這很好。我可以對來自客戶端的各種消息作出反應,但我也有幾個需要對不同消息作出反應的模塊。比如我cardgame.js
模塊應反應:
socket.on("joinTable"...
socket.on("playCard"
雖然我chessgame.js
應該反應
socket.on("MakeAMove"...
和我user.js的文件句柄:
socket.on('register' ...
socket.on('login' ...
我將如何銜接/構造我的文件來處理這些不同的消息,以便對套接字請求作出反應的文件不會變得太大。
基本上,如果我可以將套接字對象傳遞給這些模塊將會很好。但問題是,直到連接建立,套接字將是未定義的。
此外,如果我將整個io變量傳遞給我的模塊,那麼每個模塊都將有io.on('connection',..)
調用。不知道這是甚至可能或希望。
這看起來像我想要的。如何處理模塊,但需要多個套接字?我假設先創建對象,然後簡單地使用addSocket函數。 –