访问套接字中的其他套接字.在socket.io中打开('connection')

accessing other socket inside the socket.on('connection') in socket.io

本文关键字:套接字 connection io 其他 socket 访问      更新时间:2023-12-02

我是node.js和socket.io.的新手

如何访问套接字中的其他套接字。on("连接")?这是我的服务器端代码:

服务器端index.js

io.sockets.on("connection", function (socket) {
    socket.on("tree", function(fruit){
        var fruit = "strawberry";
        console.log(fruit); // result: strawberry
    });
    socket.on("drink", function(juice){
        //How to access var fruit here? (strawberry)
    });
};

谢谢你的帮助。。

如果您希望一些数据(如化身)在收到后可用于未来的事件,那么您必须将这些数据保存在服务器中的某个位置,并以您知道哪些数据与哪个连接相关的方式保存。

有无数种方法可以构建它,从将其保存到套接字上的属性,到将其保存为username-->userdata的映射,再到将其存储在数据库中。一般的想法是,当你收到它时,你可以把它保存在某个地方,这样无论你想在未来检索数据以用于某些未来事件,你都可以在数据结构或数据库中找到它。

从您的代码示例来看:

io.sockets.on("connection", function (socket) {
    var savedFruit;
    socket.on("tree", function(fruit){
        savedFruit = fruit;
        console.log(fruit); // result: strawberry
    });
    socket.on("drink", function(juice){
        // You can access the savedFruit variable here which will only have a
        // value if the "tree" message has already been received.
    });
});