2011-05-20 110 views
1

我刚刚熟悉socket.IO和nodeJS。让我的网络应用程序与他们合作。然后,我有一个朋友在办公室机器上试用它,发现它无法连接。公司网络内的套接字IO无法连接

我设置这两个测试用例:

http://thebeer.co/labs/rt/chat.phpserver JS here) - 这是socket.IO chat example的精确副本。

http://thebeer.co/labs/rt/test.phpserver JS here

他们都失败了。我也有一个朋友在大学电脑上试用,但也无法连接!在听说端口号较低的端口号不太可能被安全网络阻塞之后,我尝试了在端口8100,8080和81-90上侦听的节点服务器。

真的不明白,每个人都可以访问这个实时功能非常重要,我做错了什么?

如何获取socket.IO以连接安全的Office和大学网络?

回答

6

大多数大公司网络将阻止所有以外的大多数用户的端口80(http)和端口443(https)。尝试将所有内容放在其中一个上,以实现最大的兼容性。

+0

测试现在将返回结果。其他一切都按顺序排列? – wilsonpage 2011-05-20 14:10:05

+0

它说端口是“已经在使用”。我怎样才能通过端口80运行节点和标准的Apache HTTP请求? – wilsonpage 2011-05-20 14:10:56

+0

您将无法将服务器上的两个应用程序绑定到同一端口。恐怕我对node.js或socket.io了解不多,但能否让您的web服务器代理node.js?像这样:http://www.readwriteweb.com/hack/2010/12/how-to-run-apache-and-nodejs.php – 2011-05-20 14:14:31

3

即使当你在端口80上运行的一切,也记住了很多enterprisey网络运行通过HTTP流量内容过滤器或其他可能无法理解websockets升级头的代理...您可能想尝试强制socket.io使用其中一种后台兼容性传输,并查看是否有帮助。

FWIW,+1给科林皮卡德,因为他可能是正确的......我只是想我会加上这一点以防万一。