【问题标题】:Socket.io 1.1 - How to sent data from client when connecting initiallySocket.io 1.1 - 初始连接时如何从客户端发送数据
【发布时间】:2014-10-17 06:48:46
【问题描述】:

我想要类似的功能

客户

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

服务器

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

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

【问题讨论】:

  • 如果我做对了,你想避免使用socket.emit吗?我认为这样连接时不可能发出数据。 The second arguments takes just options。出于好奇,你为什么要这样做?
  • 我想在连接时获取用户的身份用于存储目的,我只是想避免发出只是为了提供用户的身份。

标签: node.js socket.io


【解决方案1】:

你能做的最好的就是将数据与 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 来识别用户。

【讨论】:

  • 谢谢,这按预期工作。也会看看passport.socketio。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-09
  • 2019-02-05
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
  • 2019-08-04
相关资源
最近更新 更多