【发布时间】:2016-07-03 01:46:37
【问题描述】:
我能够使用 node.js 使 socket.io 完美工作,但我无法传递变量 (user_id),因为我连接 socket.io 不在任何请求中。
var express = require('express');
var router = express.Router();
var server = require("http").Server(express);
var io = require("socket.io")(server);
server.listen(3001);
io.on('connection', function(client) {
client.on('order_'+userId, function(data) { // how to get user_id here? I can't put this within any endpoint
io.emit('order_'+user_id,data);
});
});
router.get('/', function(req, res) {
//I can get my userId here, I'm using passport session
console.log(res.user.id)
})
需要有 socket.io 和 node.js 经验的人帮助。
【问题讨论】:
-
您想使用套接字或其他方式发送和接收 user_id 吗?你的问题不是很清楚。
-
@damitj07 不是,我使用 user_id 使端点唯一。
-
@damitj07 就像我有 3 个客户,他们会听我的 order_123、order_345、order_something_else..
-
将此标记为您的其他问题的副本,该问题有从 socket.io 连接事件获取用户数据的答案。将来,您应该编辑先前的问题以澄清而不是编写新问题。您可以随时使用“编辑”链接来编辑您现有的任何问题。
标签: javascript node.js sockets socket.io