Я пытаюсь создать базовое приложение Node, каждый раз, когда клиент подключается, я хочу обновить счетчик, который отображается на странице. (Моя цель - создать это приложение в его самой простой и удобной форме, чтобы продемонстрировать его моему преподавателю).
Фрагменты приложений на стороне сервера:
Выполнение соединения
var clients = 0;
io.sockets.on('connection', function (socket) {
socket.on('connect', function () { clients += 1 });
socket.on('disconnect', function(){ clients -= 1 });
});
Отображение страницы
app.get(navigation.chat.page, function(req, res){
res.render('chat', {
title: navigation.chat.title,
connected: clients
});
});
Фрагмент нефрита шаблона страницы чата:
span#client_count #{connected}
| connected clients
Клиентская часть jQuery, Socket.io и JavaScript
var socket = io.connect('http://localhost');
$(document).ready(function(){
socket.on('connect', socket.emit('connect'));
});
Проблема:
Количество подключенных клиентов обновляется только после обновления страницы. Я хотел бы, чтобы число обновлялось асинхронно. Я совсем новичок в node, socket.io и express, поэтому я не уверен, как решить проблему!