Node.js 和 Socket.IO 在某些服务器中没有响应

Posted

技术标签:

【中文标题】Node.js 和 Socket.IO 在某些服务器中没有响应【英文标题】:Node.js and Socket.IO Not Responding in Some Servers 【发布时间】:2013-06-02 16:35:01 【问题描述】:

我在 Nodejitsu 上运行了简单的 Node.js 和 Socket.IO 应用程序。该应用程序在家里和其他一些 Internet 服务中运行良好,但在我的工作中无法运行!

这是我收到的错误消息

 The connection to ws://behseini-socketproject.jit.su/socket.io/1/websocket/QtVm6E79WwGLwBVjN7el was interrupted while the page was loading.
 this.websocket = new Socket(this.prepareUrl() + query);

 socket.io.js (line 2371)
 GET http://behseini-socketproject.jit.su/socket.io/1/?t=1370531712581      200 OK
                                                                    535ms   
 socket.io.js (line 1659)
 ParamsHeadersResponse

 fPtjDNnugmPPXKbnN7ep:60:60:websocket,htmlfile,xhr-polling,jsonp-polling

您能告诉我为什么会这样吗?是这种防火墙问题吗?

谢谢

【问题讨论】:

如果我不得不冒险猜测我会说这是一个代理问题,至于如何解决它我不太确定。但这是我首先要看的地方。 感谢 Travis,这也是我的第一个猜测,但我也不知道如何处理它! 它总是发生还是自发发生? 嗨 Sly 是的,它总是在办公室发生。正如我所说,它在其他节奏下工作得很好,但不是在这里! 你解决了吗?我面临同样的问题。我用 socket.io + node.js 开发了一个实时应用程序,它在我的网络上运行良好,但在我的客户端网络上却失败了。在我的客户端系统上,我遇到了与您上面提到的相同的问题。 【参考方案1】:

在#nodejitsu IRC 频道与您交谈后,看来这确实可能是您的工作代理/防火墙的问题。

正如昨晚在聊天中向您建议的那样,您始终可以尝试使用安全的 websocket 连接(wss 而不是 ws),看看是否允许您的连接通过。

如果这不起作用,您需要在工作连接之外发送连接。例如,代理到您家中的计算机并在您工作并想要使用 websockets 时使用您的家庭网络。

【讨论】:

感谢 Sly,它一如既往地有用 :-) 但是,我需要找到一些教程来执行此操作。我不擅长网络的东西!

以上是关于Node.js 和 Socket.IO 在某些服务器中没有响应的主要内容,如果未能解决你的问题,请参考以下文章

使用 node.JS 和 Socket.IO 的路径和其他问题

STOMP 上的重复事件 Socket.io 和 Node.js

Node.js + Socket.io |在服务器上设置自定义标头

我可以通过 node.js 中的 socket.io 将文件上传到服务器吗?

Node.JS JavaScript socket.io 在微服务架构中发出消息

使用 Socket.IO 将 Node.JS 服务器连接到另一个 Node.JS 服务器?