Socket.io仅提供8000端口,不与任何其他端口一起提供

时间:2013-10-17 06:36:53

标签: node.js socket.io

试图自己解决这个问题,但失败了。

我的想法是我试图运行Yii的“MjmChat”扩展(nodejs上的聊天扩展)。实际上,它可以工作,但它只适用于8000端口。如果我设置任何不同于8000的端口,则socket.io不会为其js提供服务。

对于测试,我只删除了所有nodejs代码,所以它看起来像

var express = require('express');

var app = express(), 
    server = require('http').createServer(app),
    io = require('socket.io').listen(server);

server.listen(8000);

它位于我的测试服务器的web根目录(gs-test.ru) 所以当我跑步时

root@gs-test:/var/www/fortis/data/www/gs-test.ru# node app.js

http://gs-test.ru:8000/socket.io/socket.io.js很好地为js服务。

BUT!如果我尝试将8000更改为8001,9000,9999,无论如何(当然,停止当前的app.js然后重新启动它) - 它不起作用!只是无法加载socket.io.js。

我试过的每个端口都是免费的(用#netstat -ntp测试),所以我唯一的想法是问题是apache / nginx或者webserver配置中的smth(我在fastvps.ru VDS上运行debian squeeze)。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您违反了相同的原始政策吗?方案,主机和端口必须匹配,否则浏览器将无法连接。许多人喜欢haproxy。听起来你正好在你想要的端口启动应用程序就好但无法通过浏览器连接。还有一个快速应用程序在这里运行吗?