在跟随书上教程搭建socket.io的时候我遇到了以下问题:
io.sockets.on('connection',function(socket){
console.log('init');
socket.on('getAllMessages',function(){
socket.emit('allMessages',messages);
})
socket.on('createMessage',function(message){
messages.push(message);
io.sockets.emit('messageAdded',message);
})
})
io.set('authorization',function(handshakeData,accept){
handshakeData.cookie = Cookie.parse(handshakeData.headers.cookie);
var connectSid = handshakeData.cookie['connect.sid'];
if(connectSid){
connectSid = parseSignedCookie(connectSid,'technode');
sessionStore.get(connectSid,function(error,session){
if(error){
accept(error.message,false);
}else{
handshakeData.session = session;
if(session._userId){
accept(null,true);
}else{
accept('No login');
}
}
})
}else{
accept('No session');
}
})
这段代码中,如果我加入了io.set('authorization',)的代码段,io.sockets.on('connection')里面的代码就得不到执行。。请问是什么原因?