我从未使用过socket.io,想知道在我的模型中该如何构建它,目前我的计划是创建一个名为Socket的类和另一个名为Model的类,后者可派生用于例如UserModel。
然后,在UserModel.authenticate()中,我会调用Socket将用户添加到某个房间。
我只是想知道这是否可行,或是否应该遵循某种设计模式,或者我的设计是否有误。(没有socket方面的经验,所以最好向有经验的人请教!)
如果你知道更好的方法或示例,请让我知道,我认为它很简单,但我可能会错。
我从未使用过socket.io,想知道在我的模型中该如何构建它,目前我的计划是创建一个名为Socket的类和另一个名为Model的类,后者可派生用于例如UserModel。
然后,在UserModel.authenticate()中,我会调用Socket将用户添加到某个房间。
我只是想知道这是否可行,或是否应该遵循某种设计模式,或者我的设计是否有误。(没有socket方面的经验,所以最好向有经验的人请教!)
如果你知道更好的方法或示例,请让我知道,我认为它很简单,但我可能会错。
io.of('namespace').on('connection',function(socket){
var eventHandlers = {
'user': new userLib.UserSocket(socket, app),
'document': new documentLib.documentSocket(socket,app)
};
for (var category in eventHandlers) {
var handler = eventHandlers[category].handlers;
for (var event in handler) {
socket.on(event, handler[event]);
}
}
socket.on('error',function(err){
console.error(err);
});
socket.on('disconnect',function(){
console.log('disconnect');
});
}
var signup = function(){
var self = this;
//TODO: do your code
};
var authenticate = function(){
var self = this;
//TODO: do your code
}
exports.UserSocket = function(socket,app){
this.app = app;
this.socket = socket;
this.handlers = {
authenticate:authenticate.bind(this),
signup: signup.bind(this)
};
};