N2O

ВСТУП

Модуль nitro_n2o містить реалізацію протоколу Nitrogen Web Framework у відповідності до вимог специфікації N2O.

INIT

Повідомлення init викликає функцію event(init) модуля сторінки. Існує два способи передати бінарне повідомлення INIT. Перший спосіб — закодований в BERT #init record з бінарним токеном, який, зазвичай, створюється n2o_session, передається в #io record як параметр даних та зберігається на клієнті в localStorage чи Key Chain. Клієнти з недійсними токенами реєструються та отримують нові токени.

-record(init, { token :: binary() }).

Другий спосіб — бінарна текстова версія повідомлення, <<"N2O,">> що, зазвичай, працює для хостів зі здатністю до неформатованої бінарної передачі, таких, як протокол WebSockets.

<<"N2O,",Token/binary>>

Щоб детальніше дізнатись про протокол видачі токенів дивіться модуль n2o_session.

PICKLE

Повідомлення pickle надсилає на сервер заздалегідь підготовлене (за допомогою сервера) зашифроване повідомлення. Такі повідомлення містять #ev record з інформацією викликача (зашифровані). Зашифровані повідомлення можуть подовжувати термін придатності токена сесії за допомогою оновлення токена клієнта при кожному UI запиті (відстеження активності користувачів), для включення цього режиму змінна середовища nitro_prolongate додатку n2o повинна бути true.

-record(pickle, { source = [] :: [] | binary(), pickled = [] :: [] | binary(), args = [] :: list({atom(),any()}) }). -record(ev, { module = [] :: [] | atom(), msg = [] :: any(), trigger = [] :: [] | binary(), name = [] :: [] | binary() }).

DIRECT

Повідомлення direct надсилає дані без задіяння механізмів діалогу, сесії чи шифрування. Терм у полі data безпосередньо попадає в event функцію модуля-контроллеру сторінки.

-record(direct, { data = [] :: any() }).

FLUSH

Повідомлення flush лише перенаправляє дані в сокет.

-record(flush, { data = [] :: [] | list(#action{}) }).

Можливо, Ви також бажаєте почитати про: n2o_heart, n2o_ftp .