我在开发环境中的应用架构如下: 在端口3000上运行的Web服务器, 在端口3001上运行的Api服务器, 在端口3002上运行的Socket io服务器。
我这样连接到客户端上的套接字io服务器:
const socket = io('http://127.0.0.1:3002/bitcoin');
这是我在套接字io服务器上的连接事件:
// www
const io = require('./controllers/socket_io');
io.listen(3002);
// controllers/socket_io.js
const io = require('socket.io')();
const Bitcoin_Socket_IO_C = require('./bitcoin/socket_io');
io.of('/bitcoin').on('connection', socket => Bitcoin_Socket_IO_C.connect(socket));
module.exports = io;
// controllers/bitcoin/socket_io.js
class Bitcoin_Socket_IO_Controller{
static async connect(socket){
console.log(socket);
};
};
module.exports = Bitcoin_Socket_IO_Controller;
我的io服务器可以看到连接,但是从不发回io cookie。 我的api也可以设置auth cookie,我想在我的socket io握手中看到它们,但它们也没有到那里。
这是什么问题?
答案 0 :(得分:0)
我解决了。当我通过本地主机访问Web服务器时,所有cookie都设置为该域。我客户的io是连接到127.0.0.1的,因此没有cookie发送到那里。