Весь день я смотрел на примеры node.js и socket.io и пытаюсь собрать воедино простую страницу, которая покажет мне, сколько пользователей я подключился к серверу..
Я прочитал документацию по адресу http://socket.io/, а также несколько туториалов/вопросов, которые точно описывают то, что я пытаюсь сделать. Я также нашел создание простого узла js-сервера и клиента , который мне не помогает.
Информация о версии:
node.js -0.6.15
экспресс -3.0.0alpha1
socket.io -0.9.5 (socket.io -клиент той же версии, но не находит ресурс... см. комментарии)
ejs -0.7.1
Вот код моего сервера:
var express = require('express'),
config = {
port: 4000,
hostname: 'localhost'
};
var server = module.exports = express.createServer();
/* server configuration */
server.use(express.cookieParser('keyboard unicorn'));
server.use(express.bodyParser());
server.use(express.methodOverride());
server.use(express.session({ secret: 'keyboard unicorn' }));
server.engine('.html', require('ejs').__express);
server.set('views', __dirname + '/lib/views');
server.set('view options', { layout: false });
server.set('view engine', 'html');
server.use(server.router);
server.use('/', express.static(__dirname + '/lib/assets'));
var io = require('socket.io').listen(server);
var connections = { 'length': 0 };
io.sockets.on('connection', function(socket) {
socket.__fd = socket.fd;
connections[socket.__fd]=socket.remoteAddress;
++connections.length;
console.log('user connected! There are a total of ' + connections.length + ' users online.');
return socket.on('disconnect',function(){
delete conns[socket.__fd];
--connections.length;
console.log('user disconnected! There are a total of ' + connections.length + ' users remaining online.');
});
});
server.get('/', function( req, res ) {
res.render('index', {
'page_title': 'sample application',
'number_of_connections': connections.length
});
});
server.listen(config.port, config.hostname);
Вот код моего клиента:
<%= page_title %>
There is a total of <%= number_of_connections %> user(s) connected.
Вот что происходит, когда я запускаю сервер и подключаюсь к клиенту.
$ node server.js
info - socket.io started
, затем, когда я перехожу на localhost :4000 в своем веб-браузере, я получаю страницу с номером «0» (_из _соединений ). Также я ничего не вижу в терминале для сервера (вкл. ('соединение' никогда не устанавливается ).
На клиенте через секунду или две я начинаю получать огромное количество ошибок (если я оставлю консоль открытой на несколько секунд, произойдет сбой страницы )см. изображение ниже:
Пожалуйста, любая помощь в том, с чего начать отладку, будет оценена по достоинству!Я просто хочу запустить этот базовый пример, чтобы я мог начать играть/понимать nodejs и socket.io!