【问题标题】:socket.io websocket connection invalid (latest chrome)socket.io websocket 连接无效(最新的 chrome)
【发布时间】:2012-12-07 14:17:05
【问题描述】:

安装完node.js之后,我就跟着这个tutorial启动了一个简单的聊天服务器。它很容易设置并且可以正常工作,但我注意到两个问题:

1.) 我从 socket.io 收到此警告

info  - socket.io started
debug - served static /socket.io.js
debug - client authorized
info  - handshake authorized 1385647068766475337
debug - setting request GET /socket.io/1/websocket/1385647068766475337
debug - set heartbeat interval for client 1385647068766475337
warn  - websocket connection invalid

这对我来说没有意义,因为我没有使用 socket.io 接触任何东西,而且我使用的是我知道支持 websockets 的最新 chrome 版本 (23)(我能够使用 PHP 成功连接到它们-网络套接字)。它继续使用 XHR,但我对让 Websocket 功能正常工作非常感兴趣。

2.) 当我去 localhost:8080 连接到聊天服务器时,它需要大约 7-8 秒来提示我输入我的名字并实际连接到服务器。我有一种感觉,这可能是因为它正在恢复为 XHR,但我对此知之甚少,所以我不能说。有什么想法吗?

【问题讨论】:

  • 我看到了同样的问题。我正在使用 Chrome 24。
  • 警告来自哪里(代码)?我在图书馆找不到它。 “websocket 连接无效”

标签: node.js websocket socket.io


【解决方案1】:

我遇到了完全相同的问题。这可能是旧的。但我的设置是在 digitalocean 上。发生的情况是,通常在一台服务器上运行节点应用程序的人使用 nginx 进行端口侦听,并在其自己的专用端口下使用节点。 nginx 没有将 websocket 端口转发到节点,只有端口 80 没有初始化 nodejs。

http://nginx.org/en/docs/http/websocket.html

您需要确保为此正确配置了您的 nginx。

我只是将端口添加到io.connect 直接连接到节点服务器并避免使用nginx。

【讨论】:

    【解决方案2】:

    我也面临类似的问题。

    你的情况-

    • 尝试删除您的 cookie,有时一旦连接成功,xhr-polling 选项会保存到 cookie 中并在下次重复使用。 Similar question answered here
    • 还有debug - served static /socket.io.js 有时会在 html 或jade 模板文件中错误引用socket.io 文件时出现。尝试更正脚本 src 链接以防出错。它应该类似于 - var socket = io.connect('http://localhost:3000'); 或者您也可以尝试像这样一起删除链接 - var socket = io.connect();

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      我在使用旧版本的 socket.io 和更高版本的 chrome 构建(以及其他浏览器)时看到了这种行为。它会超时然后回退到 xhr 轮询。要检查您正在使用的 socket.io 库的版本,请在您的 shell (linux/unix) 中键入:

      npm ls| grep socket.io
      

      它应该告诉你版本。目前最新的是 0.9.13,可以正常工作。

      如果您从 http://psitsmike.com 运行教程,请注意 package.json 文件硬编码了旧版本的 socket.io,它不适用于最新的浏览器。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-18
        • 2016-03-07
        • 2021-12-05
        • 1970-01-01
        相关资源
        最近更新 更多