我是node.js和socket.io的新手。
如何访问socket.on('connection')中的其他套接字? 这是我的服务器端代码:
服务器端 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)
});
};
感谢您的帮助..
答案 0 :(得分:0)
如果您希望某些数据(例如头像)在收到后可用于将来的事件,那么您必须将该数据保存在服务器中的某个位置,并以您知道哪个数据去的方式保存与哪个连接。
有很多种方法可以将它从保存到套接字上的属性,到保存用户名的地图 - > 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.
});
});