2013-12-17 4 views
10

У меня есть клиент и имя пользователя, и я хочу, чтобы они оба отправляли с сокетом.Как отправить две переменные в одном сообщении с помощью Socket.io?

client.userid = userid; 
client.username = username; 
client.emit('onconnected', { id: client.userid, name: client.username }); 

я попробовал это, например, но это не похоже на работу

ответ

13

Вы можете попробовать это

io.sockets.on('connection', function (socket) { 
    socket.on('event_name', function(data) { 
     // you can try one of these three options 

     // this is used to send to all connecting sockets 
     io.sockets.emit('eventToClient', { id: userid, name: username }); 
     // this is used to send to all connecting sockets except the sending one 
     socket.broadcast.emit('eventToClient',{ id: userid, name: username }); 
     // this is used to the sending one 
     socket.emit('eventToClient',{ id: userid, name: username }); 
    } 
} 

и на клиенте

socket.on('eventToClient',function(data) { 
    // do something with data 
     var id = data.id 
     var name = data.username 

}); 
5

Попробуйте отправить объект в целом:

$('form').submit(function(){  
var loginDetails={ 
    userid : userid, 
    username : username 
    }; 
client.emit('sentMsg',loginDetails); 
} 
Смежные вопросы