Socket.io 1.1 – 如何在最初连接时从客户端发送数据

我想要的function与此类似

客户

var socket=io.connect(url,data); 

服务器

 io.on('connection',function(socket){ //get data here in the socket object or in other way }) 

我知道数据可以通过连接后发射获得,但我想知道最初连接时是否有办法发送数据。

您可以做的最好的方式是将数据和URL一起传递

 var socket = io.connect(url + "?data=value"); 

这将在服务器上的socket.handshake.query可用

 io.on('connection',function(socket){ var data = socket.handshake.query.data; // => "value" }); 

或者,如果您使用passport.socketio,您将拥有socket.request.user来识别用户。