Strict Standards: Declaration of action_plugin_importoldindex::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/importoldindex/action.php on line 8

Strict Standards: Declaration of action_plugin_popularity::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/popularity/action.php on line 57

Strict Standards: Declaration of action_plugin_safefnrecode::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/safefnrecode/action.php on line 66

Strict Standards: Declaration of action_plugin_importoldchangelog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/importoldchangelog/action.php on line 182

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/lib/plugins/importoldindex/action.php:8) in /var/www/html/inc/actions.php on line 180
 cor4_server [Cor4 WIki]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cor4_server [2005/09/29 21:27]
ivivan
— (current)
Line 1: Line 1:
-====== Cor4 szerver kapcsolat ====== 
- 
-A kapcsolat titkosítására [[http://en.wikipedia.org/wiki/RC6_cipher|RC6]] kódot használnék, melynek legfontosabb tulajdonsága, hogy szimmetrikus, azaz mindössze egy kódra van szükség, ami ráadásul tetszőleges jelsorozat lehet (nem kell prímnek lennie).  
- 
-Az alapötlet szerint ez a kód a jelszó [[http://en.wikipedia.org/wiki/MD5|MD5]] kódja, így a kliensen nincs szükség sem a jelszó sem a kód tárolására valamint a jelszó ismerete nélkül az esetleges elkapott üzenet is értelmezhetetlen marad. 
- 
-A kommunikáció bináris csomagokat alkalmaz a nagy adatmennyiségek hatékony átvitele céljából. Minden csomag egy négy bájtos hosszal kezdődik, amely a teljes csomag (a négy bájtos hosszon kívüli) méretét adja meg. A csomag hossza kódolt üzenet esetén is kódolatlan. Ezután egy bájton a csomag tipusa következik, majd az egyes csomagokra jellemző adatok. 
- 
-A következőkben az egyes üzenetek formátumát foglalom össze. Az egyes tipusokról [[cor4app_tipusok|itt]] olvashat bővebben. 
- 
-===== Általános csomagok ===== 
- 
-==== OK ==== 
- 
-^  Megnevezés  ^  Tipus  ^  Érték  ^ 
-| Csomag hossz | integer |  | 
-| Csomag tipus | byte | 00| 
-| Megválaszolt csomag tipusa | byte |  | 
-| Véletlen adat | string |  | 
- 
-==== ERROR ==== 
- 
-^  Megnevezés  ^  Tipus  ^  Érték  ^ 
-| Csomag hossz | integer |  | 
-| Csomag tipus | byte | 99 | 
-| Megválaszolt csomag tipusa | byte |  | 
-| Hibakód | integer |  | 
-| Hiba szövege | string |  | 
-| Véletlen adat | string |  | 
- 
-===== Kapcsolatfelvétel, bontás ===== 
- 
-==== LOGIN ==== 
- 
-A kliens küldi a szervernek. Az egyetlen kódolatlan üzenet, mely egyelőre csak a felhasználó nevét és a kliensverzió számát tartalmazza. 
- 
-A válasz már kódolt. Amennyiben a megadott felhasználó létezik, akkor a válasz egy **OK** üzenet, amely a felhasználó jelszavának MD5 kódjával kódolt. Amennyiben a megadott felhasználó nem létezik, akkor a válasz egy **ERROR** üzenet véletlenszerű kóddal kódolva. 
- 
-^  Megnevezés  ^  Tipus  ^  Érték  ^ 
-| Csomag hossz | integer |  | 
-| Csomag tipus | byte | 01 | 
-| Felhasználó neve | string |  | 
-| Kliens verzió | 4 byte | 1.2.3.4 | 
- 
-==== DISCONNECT ==== 
- 
-A kliens küldi a szervernek, melynek hatására a szerver egyszerűen megszakítja a kapcsolatot. 
- 
-^  Megnevezés  ^  Tipus  ^  Érték  ^ 
-| Csomag hossz | integer |  | 
-| Csomag tipus | byte | 02 | 
- 
-===== Adminisztráció ===== 
- 
-==== CHPASS ==== 
- 
-A kliens küldi a szervernek a jelszó megváltoztatása céljából. A szerver ennek hatására egy **OK** vagy egy **ERROR** üzenetet küld. Nyilvánvalóan a jelszó csak az **OK** üzenet visszajelzése esetén valósul meg. A kódolás a következő bejelentkezésig nem változik. 
- 
-^  Megnevezés  ^  Tipus  ^  Érték  ^ 
-| Csomag hossz | integer |  | 
-| Csomag tipus | byte | 03 | 
-| Új jelszó MD5 kódja [[http://en.wikipedia.org/wiki/Base64|base64]] kódolva | string |  | 
- 
-===== Adatbázis műveletek ===== 
- 
-==== QUERY ==== 
- 
-A kliens által küldött lekérdezést tartalmazza. Mivel a szerver mögött tetszőleges adatbáziskezelő lehet, érdemes odafigyelni arra, hogy a küldött lekérdezés minden adatbáziskezelő által emészthető legyen. 
- 
-Amennyiben a lekérdezés hibát okoz a szerver **ERROR** üzenettel válaszol. Amennyiben a lekérdezés a SELECT SQL utasítás által visszaadott táblázat a visszaadott csomag **RESULT** tipusú. Minden egyéb esetben (UPDATE, INSERT stb.) egy **OK** üzenetet kapunk. 
- 
-^  Megnevezés  ^  Tipus  ^  Érték  ^ 
-| Csomag hossz | integer |  | 
-| Csomag tipus | byte | 04 | 
-| Lekérdezés | string |  | 
- 
-==== RESULT ==== 
- 
-A szerver által adott válasz a **QUERY** üzenetre. 
- 
-^  Megnevezés  ^  Tipus  ^  Érték  ^ 
-| Csomag hossz | integer |  | 
-| Csomag tipus | byte | 05 | 
-| Mezőnevek | stringlist |  | 
-| Mezőtipusok | n db byte | az egyes bájtok a megfelelő oszlop tipusát adják meg a lentebbi táblázat szerint | 
-| Sorok száma | integer |  | 
-| Adatsorok | raw | a megadott formátumú sorokból az előző mező által definiált darabszámú | 
- 
-Az alábbi táblázat adja meg a //Mezőtipusok// mezőben definiált tipusok jelentését. A tárolás a [[cor4app_tipusok|tipusnak]] megfelelően történik. 
- 
-^  Érték  ^  Megnevezés  ^  Értékkészlet  ^  Megjegyzés  ^ 
-| 1 | integer | -2<sup>32</sup>...2<sup>32</sup>-1 |  | 
-| 2 | string  |  |  | 
-| 3 | boolean | true/false |  | 
  

cor4_server.1128029227.txt.gz · Last modified: 2021/01/05 11:54 (external edit)