- Каталог
/EventEmitter
simpleEventEmitter.js
- простейшая реализация EventEmitterenhancedEventEmitter.js
- расширенная версию EventEmitter для Node.js
- Каталог 'LiveTable' - пример таблицы, которая синхронизируется между несколькими браузерами через отправку событий по Websocket.
Перед запуском LiveTable
нужно запустить npm install
из этого каталога,
npm устаносит зависимости, указанные в package.json
, после этого можно
запускать sudo node server
. Внимание, если другая программа заняла 80 порт,
то нужно ее остановить, это может быть Apache, Skype, nginx, IIS и др. Если
не удается освободить 80 порт, то заменить его на любой другой порт, поправив
номер порта в коде сервера и допишите его в URL вебсокета в коде клиента.
- Реализовать расширенный EventEmitter, как в 'enhancedEventEmitter.js' на базе
простого из
simpleEventEmitter.js
, а не на базе встроенной в Node.js библиотекиevents
. Адаптировать расширенный EventEmitter для одинаковой работы в Node.js и в браузере. - Модифицировать 'LiveTable' так, чтоб в ячейках можно было использовать
формулы, как в электронных таблицах, например:
= A1 + B2
, но сделать это без использования циклов, а на событийной модели, т.е. при помощи подписки на изменения, с применением EventEmitter. - Транслировать события не только внутри приложения, но и по сети через Websocket и отправлять их в EventEmitter.
-
Сделать сетевую реализацию EventEmitter, делающую взаимодействие по сети прозрачным между клиентом и сервером.
-
Модифицировать сетевую реализацию EventEmitter, чтоб взаимодействие по сети было прозрачным между несколькими клиентами, через сервером. Реализовать ретрансляцию событий.