Browse Source

nitro n2o

Namdak Tonpa 5 years ago
parent
commit
7ca272af90
1 changed files with 105 additions and 0 deletions
  1. 105 0
      man/nitro_n2o.htm

+ 105 - 0
man/nitro_n2o.htm

@@ -0,0 +1,105 @@
+<!DOCTYPE html><html><head><meta charset="utf-8" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="description" content="" /><meta name="author" content="Maxim Sokhatsky" /><title>NITRO</title><link rel="stylesheet" href="https://n2o.dev/blank.css?v=2" /></head><body><nav>
+    <a href="https://n2o.dev/ua/">DEV</a>
+    <a href="index.html">NITRO</a>
+    <a href="#" style="background:#ededed;">N2O</a>
+  <div class="dropdown">
+    <a onclick="drop()" class="dropbtn">UA</a>
+    <div id="dropdown" class="dropdown-content">
+      <a href="https://n2o.dev/deps/n2o/man/ua/n2o_nitro.htm">UA</a>
+      <a href="https://n2o.dev/deps/n2o/man/de/n2o_nitro.htm">DE</a>
+      <a href="https://ws.n2o.space/man/n2o_nitro.htm">EN</a>
+    </div>
+  </div>
+</nav><header>
+    <a href="../index.html"><img src="https://openmoji.org/data/color/svg/1F525.svg" /></a>
+    <h1>N2O</h1>
+</header>
+<main>
+<article>
+    <section>
+        <h3>ВСТУП</h3>
+
+        <p>Модуль <a href="https://github.com/synrc/nitro/blob/master/src/nitro_n2o.erl">nitro_n2o</a>
+           містить реалізацію протоколу <a href="http://nitrogenproject.com/demos">Nitrogen Web Framework</a>
+           у відповідності до вимог специфікації N2O.</p>
+
+    </section>
+    <section>
+        <h3>INIT</h3>
+        <p>Повідомлення init викликає функцію event(init) модуля сторінки.
+           Існує два способи передати бінарне повідомлення INIT.
+           Перший спосіб — закодований в BERT #init record з бінарним токеном,
+           який, зазвичай, створюється n2o_session, передається в #io record
+           як параметр даних та зберігається на клієнті в localStorage чи Key Chain.
+           Клієнти з недійсними токенами реєструються та отримують нові токени.</p>
+        <figure><code>
+ -record(init, { token :: binary() }).
+        </code></figure>
+        <p>Другий спосіб — бінарна текстова версія повідомлення, &lt;&lt;"N2O,"&gt;&gt;
+           що, зазвичай, працює для хостів зі здатністю до неформатованої бінарної
+           передачі, таких, як протокол WebSockets.
+           </p>
+        <figure><code>
+ &lt;&lt;"N2O,",Token/binary>>
+        </code></figure>
+        <p>Щоб детальніше дізнатись про протокол видачі токенів дивіться
+           модуль <a href="n2o_session.htm">n2o_session</a>.</p>
+    </section>
+    <section>
+        <h3>PICKLE</h3>
+        <p>Повідомлення pickle надсилає на сервер заздалегідь підготовлене (за
+           допомогою сервера) зашифроване повідомлення.
+           Такі повідомлення містять #ev record з інформацією викликача (зашифровані).
+           Зашифровані повідомлення можуть подовжувати термін придатності токена сесії
+           за допомогою оновлення токена клієнта при кожному UI
+           запиті (відстеження активності користувачів), для включення цього режиму
+           змінна середовища <b>nitro_prolongate</b> додатку n2o повинна бути <b>true</b>.</p>
+        <div>
+        <figure><code>
+ -record(pickle, { source  = [] :: [] | binary(),
+                   pickled = [] :: [] | binary(),
+                   args    = [] :: list({atom(),any()}) }).
+
+ -record(ev,     { module  = [] :: [] | atom(),
+                   msg     = [] :: any(),
+                   trigger = [] :: [] | binary(),
+                   name    = [] :: [] | binary() }).
+        </code></figure>
+        </div>
+    </section>
+    <section>
+        <h3>DIRECT</h3>
+        <p>Повідомлення direct надсилає дані без задіяння механізмів діалогу,
+           сесії чи шифрування. Терм у полі data безпосередньо попадає в event
+           функцію модуля-контроллеру сторінки.</p>
+        <div>
+        <figure><code>
+ -record(direct, { data = [] :: any() }).
+        </code></figure>
+        </div>
+    </section>
+    <section>
+        <h3>FLUSH</h3>
+        <p>Повідомлення flush лише перенаправляє дані в сокет.</p>
+        <div>
+        <figure><code>
+ -record(flush, { data = [] :: [] | list(#action{}) }).
+        </code></figure>
+        </div>
+    </section>
+    <section>
+
+<p>Можливо, Ви також бажаєте почитати про:
+<b>
+<a href="n2o_heart.htm">n2o_heart</a>,
+<a href="n2o_ftp.htm">n2o_ftp</a>
+</b>.
+</p>
+
+    </section>
+</article>
+</main><footer>
+    2005—2019 © Synrc Research Center
+</footer>
+<script>function drop(){document.getElementById("dropdown").classList.toggle("show");}</script>
+</body></html>