Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Event-driven programming

License

NotificationsYou must be signed in to change notification settings

HowProgrammingWorks/EventDrivenProgramming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  • Каталог/EventEmitter
    • simpleEventEmitter.js - простейшая реализация EventEmitter
    • enhancedEventEmitter.js - расширенная версию EventEmitter для Node.js
  • Каталог 'LiveTable' - пример таблицы, которая синхронизируетсямежду несколькими браузерами через отправку событий по Websocket.

Перед запускомLiveTable нужно запуститьnpm install из этого каталога,npm устаносит зависимости, указанные вpackage.json, после этого можнозапускатьsudo node server. Внимание, если другая программа заняла 80 порт,то нужно ее остановить, это может быть Apache, Skype, nginx, IIS и др. Еслине удается освободить 80 порт, то заменить его на любой другой порт, поправивномер порта в коде сервера и допишите его в URL вебсокета в коде клиента.

Задания

  1. Реализовать расширенный EventEmitter, как в 'enhancedEventEmitter.js' на базепростого изsimpleEventEmitter.js, а не на базе встроенной в Node.js библиотекиevents. Адаптировать расширенный EventEmitter для одинаковой работы в Node.jsи в браузере.
  2. Модифицировать 'LiveTable' так, чтоб в ячейках можно было использоватьформулы, как в электронных таблицах, например:= A1 + B2, но сделать это безиспользования циклов, а на событийной модели, т.е. при помощи подписки наизменения, с применением EventEmitter.
  3. Транслировать события не только внутри приложения, но и по сети черезWebsocket и отправлять их в EventEmitter.

Дополнительные задания

  1. Сделать сетевую реализацию EventEmitter, делающую взаимодействие по сетипрозрачным между клиентом и сервером.

  2. Модифицировать сетевую реализацию EventEmitter, чтоб взаимодействие по сетибыло прозрачным между несколькими клиентами, через сервером. Реализоватьретрансляцию событий.


[8]ページ先頭

©2009-2025 Movatter.jp