Socket.IO客户端无法与服务器通信

时间:2011-05-04 02:42:09

标签: javascript node.js socket.io

所以我正在将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版本之间的版本差异,但我不知道如何检查客户端版本。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

原来问题是WebSockets不发送正常的HTTP请求,导致它们被nginx破坏。从Q/A discussion与我的托管公司,他们说解决方案是购买专用于侦听WebSocket连接的私有IP。

我最终还是以Nodester来托管我的Node.js应用程序。