ВСТУП
Модуль n2o_nitro містить реалізацію протоколу Nitrogen Web Framework та його специфікацію.
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 .