我正在制作一个使用 nodejs、mongodb、socket.io、express 和 mongoose 的网络应用程序。
浏览到本地主机时,我可以启动服务器并在浏览器中正确获取所需的 html 文件。
我遇到的问题是让我的 socket.io 工作。在我的服务器端一切正常:我在终端中得到“info - socket.io started”。
但是当我浏览我的浏览器时,我在浏览器控制台中得到了这个
Failed to load resource: the server responded with a status of 404 (Not Found)
Uncaught ReferenceError: io is not defined
这就是我连接到 socket.io.js 的方式
<script src="/socket.io/socket.io.js"></script>
我的地图结构如下所示:
map
-app.js
-public
--index.html
-node_modules
--socket.io
--mongodb
--express
--jade
--mongoose
有谁知道我犯了什么错误?
(实际上和这里的问题一样:Node.js socket.io.js not found or io not defined)
提前致谢!
编辑: 我在服务器端的代码是这样的:
var app= require('express').createServer();
var io = require('socket.io').listen(app);
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/db');
app.listen(3030);
console.log("server started");
app.get('/',function(req,res){
res.sendfile(__dirname + '/public/index.html');
});
io.sockets.on('connection',function(socket){
console.log("connection made");
});
第一个日志记录在终端中(“服务器已启动”),但第二个日志(“建立连接”)没有被记录。所以没有建立联系。我认为这是因为我的客户端的“设置”错误。