nodejs websoket 运行报错!TypeError: Object #<Socket> has no method 'set'

Mecil 发布于 2014/06/12 11:10
阅读 331
收藏 0
var httpd = require('http').createServer(handler);
var io = require('socket.io').listen(httpd);
var fs = require('fs');


httpd.listen(4000);


function handler(req,res){
    fs.readFile(__dirname + '/index.html',
       function(err,data){
           if(err){
               res.writeHead(500);
               return res.end('错误读取index.html文件');
           }
           res.writeHead(200);
           res.end(data);
       });
}


io.sockets.on('connection',function(socket){
    socket.on('clientMessage',function(content){
        socket.emit('serverMessage','You said: ' + content);
        socket.get('username',function(err,username){
            if(! username){
                username = socket.id;
            }
            socket.broadcast.emit('serverMessage',username + ' said: ' + content);
        });
    });


    socket.on('login',function(username){
        socket.set('username',username,function(err){
            if(err) { throw err;}
            socket.emit('serverMessage','Currently logged in as ' + username);
            socket.broadcast.emit('serverMessage','User ' +  username + 'logged in');
        });
    });


    socket.emit('login');

});


运行时报错,红色代码部分,说没有set这个方法。

请问这个是什么原因?

加载中
返回顶部
顶部