【问题标题】:Multiple socket.io client connections - force new connection多个 socket.io 客户端连接 - 强制新连接
【发布时间】:2012-11-10 14:56:11
【问题描述】:

我想从客户端连接到两个不同的节点服务器,它们实际上在相同的本地 IP 地址上运行,但在不同的端口上。问题是第一个 io.connect() 成功但第二个失败。我已经读过,为了让它工作,第二个 io.connect 调用应该包括设置为 true 的force new connection 属性。我试过了,但没有多大成功......这是我的代码的一个非常简化的版本:

dataSocket = io.connect('https://' + window.document.location.host);
...
socketOut = io.connect(data.url, {'force new connection': true});

基本上,第一个连接在https://192.168.1.129(端口443)上打开一个套接字,第二个在https://192.168.1.129:3000 上打开一个套接字,最后一个失败了。在这些调用期间,两台服务器都在运行并接受连接(显然)。奇怪的是,如果我用 localhost 替换私有本地地址,它就可以工作。我肯定错过了一些东西......

有什么建议吗?

【问题讨论】:

    标签: node.js socket.io


    【解决方案1】:

    这是一个证书问题(使用 CA 的自签名证书)。只需通过网络浏览器连接一次https://192.168.1.129:3000 并接受风险警报,一切正常。

    【讨论】:

    • 问题是,您的访问者不会知道这样做,最好获得合法的 SSL 证书,因为每次关闭浏览器都必须重新接受安全警报。
    猜你喜欢
    • 2015-10-27
    • 2021-06-28
    • 1970-01-01
    • 2015-08-27
    • 2013-12-31
    • 2019-11-20
    • 2012-10-12
    • 2021-05-24
    • 2017-07-17
    相关资源
    最近更新 更多