我试图运行我的FreeBSD服务器上的Node.js应用程式,但我不能让socket.io库与它合作。 我试过,包括:
<script src="/socket.io/socket.io.js"></script>
这给出了一个404错误,如果我直接链接到文件(即它是在我的public_html文件夹中)我得到的IO没有定义的错误。
提前致谢
我试图运行我的FreeBSD服务器上的Node.js应用程式,但我不能让socket.io库与它合作。 我试过,包括:
<script src="/socket.io/socket.io.js"></script>
这给出了一个404错误,如果我直接链接到文件(即它是在我的public_html文件夹中)我得到的IO没有定义的错误。
提前致谢
尝试创建具有此一行在它的另一个Node.js应用程式,然后用Node.js的运行
var io = require('socket.io').listen(8000);
然后在浏览器访问http://127.0.0.1:8000
,你应该得到友好的“欢迎来到socket.io。” 问候。 如果您收到这则socket.io正在运行,并且将服务socket.io.js文件。
我能想到的,可能发生的唯一的另一件事是,你可能不被链接到您的客户端文件的备用端口。 除非你运行的是在端口80上运行的有关快递的socket.io服务器现在创建一个具有socket.io集的脚本源的客户端文件
<script src="http://127.0.0.1:8000/socket.io/socket.io.js"> </script>
这应该连接到端口8000上运行的服务器socket.io并获得socket.io.js文件。
你的Node.js应用程序仍然必须服务于它 - 它不会自动地提供服务。 你在你的服务器有哪些? 它应该是这样的
var app = require('express').createServer();
var io = require('socket.io').listen(app);
或相似(在listen
很重要)。 该位置是不是在磁盘上的实际位置 - socket.io库应该拦截的URL和服务其客户方库,据我所知。
补充身体分析器之后的情况如下:
, express.static(__dirname + "/public")
因此,像:
var app = module.exports = express.createServer(
express.bodyParser()
, express.static(__dirname + "/public")
);