我试图按如下方式设置套接字参数(缺口)
socket.on('something', function(who){
socket.nick = who;
//something
});
以下代码将undefined返回给客户端,这是问题所在。
但是当我这样做的时候......
socket.on('something', function(who){
socket.nick = 'who';
//something
});
这将返回' who'对所有人来说,ofc。
有没有办法让上面的代码段工作?
答案 0 :(得分:1)
套接字无法传达JavaScript对象或任何无法简单地进行字符串化的内容。如果who
是{x: "monkey"}
中的对象,则您可能希望使用who.x
代替字符串:
socket.nick = who.x;
您还可以将对象字符串化为JSON,然后在客户端上解析它:
socket.nickJson = JSON.stringify(who);
答案 1 :(得分:0)
Explosion pills快速帮助解决问题。
而不是......
socket.on('something', function(who){
socket.nick = who;
//something
});
应该是
socket.on('something', function(who){
socket.nick = who.x;
//something
});