0

因此,我目前正在将 Node.js 应用程序从本地计算机移动到生产服务器。Socket.IO(0.6.17 版)似乎在我的服务器上运行良好,但客户端在尝试与服务器通信时出错。

这是一些代码:

<script src='http://cdn.socket.io/stable/socket.io.js'>
    // ...
    var socket = new io.Socket(null, { port: 47556 }).connect();
    // ...
</script>

以下是 Google Chrome 控制台每隔几秒(连续)输出的内容:

GET http://mysite.com:47556/socket.io/xhr-polling//1304476733618 undefined (undefined)

有人提到这可能是由于客户端和socket.io版本之间的版本差异,但我不知道如何检查客户端版本。

4

2 回答 2

3

为了安全起见,我会使用随服务器分发的 socket.io 客户端脚本。更改您的脚本标签以引用“/socket.io/socket.io.js”(我认为)并让您的应用程序为其提供服务。这也将使 Flash Sockets 工作而不必将其置于不安全模式(因为跨域问题)。

于 2011-05-04T03:11:40.410 回答
0

原来问题是 WebSockets 不发送正常的 HTTP 请求,导致它们被 nginx 丢弃。在与我的托管公司的Q/A 讨论中,他们说解决方案是购买一个专用 IP,专门用于侦听 WebSocket 连接。

不过,我最终还是选择了Nodester来托管我的 Node.js 应用程序。

于 2011-05-05T20:23:14.347 回答