0

我想知道哪个客户端在到达服务器时发送了一个事件。例如:

var socket = require(socket.io')(port);

socket.on("ask question", function(data){
    var socketid = // ?

    //respond to sender
    socket.sockets.connected[socketid].emit("Here's the answer");
});

如何获取事件发送者的套接字 ID?

4

1 回答 1

1

您的服务器端逻辑有点偏离。客户端连接,这是显示客户端套接字的地方,也是您侦听来自特定客户端的事件的地方。通常,它看起来像这样:

var io = require("socket.io")(port);

io.on('connection', function (socket) {
    socket.on('ask question', function (data) {
        // the client socket that sent this message is in the
        // socket variable here from the parent scope
        socket.emit("Here's the answer");
    });
});

这显示在此处的 socket.io 文档中。

于 2014-11-04T01:11:56.497 回答