Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在套接字io连接中设置用户名_Javascript_Ios_Node.js_Sockets - Fatal编程技术网

Javascript 在套接字io连接中设置用户名

Javascript 在套接字io连接中设置用户名,javascript,ios,node.js,sockets,Javascript,Ios,Node.js,Sockets,我有一个聊天应用程序,我必须处理在线用户。 如何将用户名发送到: var myIoSocket = io.connect(); 所以我可以在后端列出一个列表 现在我就是这样做的 Socket.on("connect",function(){ Notification.primary('Connected'); Socket.emit('iamonline',{ username: $rootScope.us

我有一个聊天应用程序,我必须处理在线用户。 如何将用户名发送到:

    var myIoSocket = io.connect();
所以我可以在后端列出一个列表

现在我就是这样做的

Socket.on("connect",function(){
            Notification.primary('Connected');
            Socket.emit('iamonline',{
                username: $rootScope.username
            });
        });
后端:

var onlineUsers = {};
io.sockets.on('connection', function(socket){
    socket.on('iamonline',function (data) {
        console.log(data.username," connected.")
        onlineUsers[data.username] = socket;
        Users[data.username] = socket;
        currentUser = data.username;
        console.log(socket)
        io.sockets.emit("liveusers",Object.keys(onlineUsers));
    });
    socket.on('disconnect', function(){
        delete onlineUsers[currentUser];
        console.log(currentUser," disconnected.");
        io.sockets.emit("liveusers",Object.keys(onlineUsers));
    });
});

我在另一个项目中遇到了同样的问题,并找到了通过查询和握手获得价值的最佳方法

server.js

io.on('connection' , function(socket){
  if(typeof socket.handshake.name!="undefined"){
    user = {
      name : socket.handshake.query.name,
      id : socket.handshake.query.id,
      email : socket.handshake.query.email,
    }
  }
});
在客户端

if(typeof io != "undefined"){
  var visitor = io.connect('ws://127.0.0.1:8000' , {
        'query': $.param({token: '<?=Session::$instance->session['id']?>'}) + '&name=<?=Session::get("username")?>&id=<?=Session::get("ID")?>&email=<?=Sesion::get("Email")?>'
  });
}
if(io类型!=“未定义”){
var visitor=io.connect('ws://127.0.0.1:8000'{
'query':$.param({token:'})+'&name=&id=&email='
});
}

你救了我一天,非常感谢。