我无法连接到socket.io。使用下面的代码,我一直在浏览器控制台上收到'io is not defined'错误。任何人都知道我在这里做错了什么?我一直在关注着计算器了几个小时,但没有解决办法似乎工作...Node + Socket.io连接问题
服务器端:
,db = require("../../lib/db")
,config = require("../../config")
,app = require("../index")
,io = require('socket.io')(app);
;
io.on('connection', function (socket) {
console.log('connected')
});
exports.render = function(req, res){
console.log(io)
res.render("vitron", {});
}
客户端:
<!doctype html>
<html>
<head>
<title>Sockets</title>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
</head>
<body>
</body>
</html>
检查浏览器错误日志,以便查看是否有一个错误加载'/socket.io/socket.io.js'。如果存在,那么问题是你的'socket.io'初始化服务器端缺少一个中间件调用,它将在请求时将socket.io.js文件提供给客户端。除非您执行正确的中间件初始化,否则不会自动提供。在socket.io文件中有很多例子来说明如何初始化事物。 – jfriend00 2014-10-12 01:20:27
感谢您的帮助!我确实有以下错误: GET http:// localhost:4602/socket.io/socket.io.js 对于我的无知感到抱歉,但是您指的是什么样的中间件调用? – austin809 2014-10-12 01:23:25
这告诉你,你没有正确的服务器端初始化,所以你的应用服务器自动提供'/ socket.io/socket.io.js'文件。 – jfriend00 2014-10-12 01:24:46