socket.on('connection', function(client){
var clientid = client.sessionId;
console.log('Connection from '+clientid);
var player = 0;
client.on('message',function(data){
HandleClientData(data,clientid);
});
client.on('disconnect',function(){
console.log('Server has disconnected');
});
});
变量“播放器”是客户端独有的吗? 如何从另一个函数中获取/设置此变量?
感谢。
答案 0 :(得分:2)
这是在建立套接字连接时运行的匿名函数的本地变量。如果要从另一个函数中读取它,请将其移动到全局范围内,或者将其作为其参数之一传递给该函数。如果要从另一个函数设置它,请将其移动到全局范围或将其传递给该函数,并在该函数返回时读取其值。
如果您解释了想要使用player
的内容,可能会有更明确的答案。
答案 1 :(得分:2)
怎么样:
socket.on('connection', function(client){
client.player = 0;
console.log('Connection from '+client.clientid);
client.on('message',function(data){
someOtherFunctions(this.player);
HandleClientData(data,this.clientid);
});
client.on('disconnect',function(){
console.log(this.clientid+' has been disconnected');
});
});
您可以单独为连接的套接字定义任何数据,并在具有“this”范围的其他回调中使用它们。 “this”指的是当前套接字