socket.io客户端可以连接到两个不同的服务器/端口吗?

16 websocket node.js socket.io

socket.io客户端可以连接到同一台服务器上的两个不同端口吗?

socket.io客户端可以连接到两个不同的服务器吗?

Kri*_*iem 22

当然:

var io1 = require('socket.io').listen(8001);

io1.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
});


var io2 = require('socket.io').listen(8002);

io2.sockets.on('connection', function (socket) {
  socket.emit('flash', { hello: 'world' });
});
Run Code Online (Sandbox Code Playgroud)

也许这是一个有趣的读物:(来自github)

// connect at the same host / port as your website
var socket = io.connect();

// different port or host
var socket = io.connect('http://url.com');

// secure
var socket = io.connect('https://localhost');
Run Code Online (Sandbox Code Playgroud)


Alf*_*red 9

socket.io客户端可以连接到同一台服务器上的两个不同端口吗?

我假设两台机器共享同一个域.我相信它可以使用长轮询(websockets,flashsockets等也可以工作),甚至可以传递cookie.但是我仍然需要在Internet Explorer上测试它,因为浏览器永远不会做我想要的...

socket.io客户端可以连接到两个不同的服务器吗?

最大的问题是这两台机器是否在不同的域上.如果在同一个域上,即使传递cookie也可以正常工作.如果它们位于不同的域上,那么在某些浏览器上我们会回退到json-p传输(可以想象的最差的传输),但它会起作用.不幸的是,由于相同的原始政策,cookie不会被传递.现在我想要绕过这个cookie限制(难题)......