Давайте немного переделаем ваш пример, чтобы удалить вложенную функцию.
function connectionHandler (socket) {
socket.on('session_id', function (session_id) {
socket.session_id = session_id;
})
setInterval(function() {
socket.emit('date', {'date': new Date()});
}, 1000);
}
io.sockets.on('connection', connectionHandler)
В вашем примере io.sockets
- ваш сервер socket.io. io.sockets.on('connection', connectionHandler)
регистрирует функцию обработчика событий подключения.
Затем каждый раз, когда подключается клиент (возможно, код, запущенный в браузере пользователя), ваш connectionHandler
вызывается с объектом socket
для текущего подключения.
socket.on('session_id')
настраивает обработчик событий для прослушивания сообщений, отправленных от клиентов с emit('session_id','some message payload')
.