Я думаю о создании приложений для интрасети, которые используют веб-сокеты.В настоящее время я использую Python / Pylons для своей веб-инфраструктуры на сервере и выполняю опросы для обновления элементов в DOM страницы.Пилоны плохо подходят для связи с веб-сокетами (IMHO), так как для каждого соединения используется поток.Я рассматриваю возможность использования node.js в качестве сервера для связи с соединениями веб-сокетов из моего веб-приложения.Вот "мое представление в 10 000 футов" моего приложения:
- Pylons предоставляет веб-контент (html, css, изображения, javascript и т. Д.)
- JavasSript на странице открывает приложениеwebsocket (s) на сервер node.js
- Сервер node.js передает данные в приложение через websocket
- JavaScript обновляет элементы DOM страницы на основе данных из websocket
Данные в приведенном выше случае взяты из базы данных MySQL, откуда мой вопрос.Я уже настраивал приложения типа MVC и могу делать то же самое в файле node.js.Тем не менее, если у меня есть долгоживущий веб-сокет, открытый для сервера node.js, как node.js узнает об изменениях в модели и отправляет их в приложение?Например, если я хочу обновить итоги, представленные на странице веб-приложения, и эти итоги изменяются из-за действий в системе вне node.js (других веб-приложений), как node.js уведомляется об этих изменениях?Что приходит на ум, это сделать так, чтобы node.js опрашивал базу данных на предмет различных изменений и распространял изменения в различных представлениях.Но для меня это звучит так, как будто я перемещаю свой опрос из веб-приложения на сервер node.js?
У кого-нибудь есть какие-либо идеи, предложения или указания по этому поводу?
Заранее спасибо!Дуг