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

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

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

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

我假设两台机器共享相同的域名。 我相信它可以使用长轮询(websockets,flashsockets等也工作),甚至传递cookies。 但我仍然需要在Internet Explorer上进行testing,因为这个浏览器从来没有做我想做的事情…

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

最大的问题是如果这两台机器都在不同的领域。 如果在同一个域名上,即使传递cookie,也可以正常工作。 如果他们在不同的领域,然后在一些浏览器我们回落到JSON – P运输(最糟糕的交通可以想象),但它会起作用。 不幸的是,由于相同的来源策略,cookie不会传递。 现在我正忙着解决这个cookie限制(难题)…

当然:

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' }); }); 

也许这是一个有趣的阅读:(从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');