【问题标题】:Can socket.io client connect to two different servers/ports?socket.io 客户端可以连接到两个不同的服务器/端口吗?
【发布时间】:2011-10-14 04:31:26
【问题描述】:

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

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

【问题讨论】:

    标签: node.js websocket socket.io


    【解决方案1】:

    socket.io 客户端能否同时连接到两个不同的端口 服务器?

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

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

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

    【讨论】:

      【解决方案2】:

      当然:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-12
        • 2015-10-14
        • 2019-07-12
        • 2015-03-21
        • 2013-03-21
        • 2013-05-27
        • 2019-06-08
        • 1970-01-01
        相关资源
        最近更新 更多