You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
enhancedEventEmitter.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, чтоб взаимодействие по сетибыло прозрачным между несколькими клиентами, через сервером. Реализоватьретрансляцию событий.