Date of update: 5/15/2011
XML Socket Server - eClever
write us
Novelties
Web feeds
Links of Interest
Http server

Http server v aplikaci eClever slouží k podpoře víceuživatelských aplikací, her a dalších aplikací, které je lepší řešit pomocí komunikace na bázi http protokolu, než pomocí socket serveru. V mnoha případech se bude socket server
a http server doplňovat. Http serveru můžeme posílat příkazy pomocí metod GET nebo POST. K volání http serveru je vždy nutné použít parametr action, ve kterém zadáváme funkci, kterou chceme od http serveru vykonat. Jednotlivé funkce budou vysvětleny v dalším textu. Tento http server není náhrada komerčních serverů pro www aplikace. Je to podpora socket serveru pro případ, kdy potřebujeme http komunikaci.

Volání http serveru pomocí metody GET
http://ip:port/?action=function&param1=value1&param2=value2....&paramX=valueX 

kde ip a port jsou parametry definované v eClever.config v sekci http-server/connections.

Pozn. Každé volání http serveru může mít mnoho parametrů. Pouze jeden parametr je povinný, a to parametr action.

Příklad
http://127.0.0.1:2722?action=cross-domain-policy.

Volání http serveru pomocí metody POST
http://ip:port/ 

U metody POST platí vše, co bylo řečeno o metodě GET, pouze parametry nejsou součástí adresy, ale musí se zadat způsobem, který odpovídá metodě POST.

Příklad
http://127.0.0.1:2722/

Všechny funkce volané pomocí metody GET si můžete vyzkoušet pomocí normálního internetového prohlížeče. U funkcí, které budou v parametrech vyžadovat zadávání speciálních znaků, jako např. xml dokumenty, nebude možné používat metodu GET, ale pouze metodu POST. Toto bude vždy zmíněno u každé funkce.

Vrácení chyby
Dojde-li k nějaké chybě v http serveru, vrátí http server xml dokument ve tvaru
<?xml version="1.0" encoding="utf-8"?>
<results>
     <status errorCode="-1"/>
</results>
kde errorCode je číslo chyby.

Chyby, které mohou vznikat při čtení souborù ze serveru.
errorCode     Popis chyby
-1   Http server nezná funkci zadanou v parametru action.
-2   Používáte neregistrovanou verzi XML Socket Multiuser Serveru - eClever
a http server umožní vykonat pouze 50 http příkazů.
-3   IP adresa klienta je uvedena v sekci black-list v eClever.config.
-4 IP adresa klienta není uvedena v sekci white-list v eClever.config.
Další chyby budou definovány vždy u příslušné funkce.

Práce se soubory
Funkce, které vracejí soubory umístěné na serveru, používají parametr file.

Příklad volání metodou GET
http://127.0.0.1:2722?action=gettxt&file=abc.txt&user=john&password=d27B48

Jako základní adresář použije http server adresář nastavený v atributu root v sekci http-server. Od tohoto adresáře se odvíjejí adresáře vnořené. Pokud je např. v atributu root nastaven adresář c:\eclever\http\ a v parametru file zadáme soubor chat\ekology\doc1.xml, bude http server hledat tento soubor v adresáři c:\eclever\http\chat\ekology\.

Pokud chceme soubory v určitém adresáři zabezpečit, musíme do tohoto adresáře umístit xml soubor, který má jméno eClever.auth a jeho struktura je:

<?xml version="1.0" encoding="utf-8"?>
<folder>
     <authentication user="abc" password="aa2"/>
</folder>
kde user a password jsou přístupové údaje pro daný adresář.

V parametrech http dotazu musíme zadat parametry user a password, které se musí shodovat se stejnojmennými parametry v souboru eClever.auth. Pokud v určitém adresáři není umístěn soubor eClever.auth, nemusíme v http dotazu parametry user a password používat.

Následující tabulka uvádí seznam chyb, které vrací http server klientovi při práci se soubory.
errorCode     Popis chyby
10   Adresář zadaný v eClever.config v atributu root neexistuje.
11   Soubor zadaný v parametru file neexistuje.
12   Přípona souboru neodpovídá volbě action.
13 Vrácený soubor má větší velikost, než která je povolena v atributu maxDocLength.
14 Adresář je zabezpečen souborem eClever.auth, ale v parametrech http dotazu nebyly zadány platné hodnoty pro user a password.


Action, které používá http server
Funkce vrací xml dokument, který je zadán v sekci cross-domain-policy v policy.config.
Funkce vrací txt dokument.
Funkce vrací xml dokument.
Funkce vrací css dokument.
Funkce vrací htm nebo html dokument.
Funkce vrací jpg nebo jpeg soubor.
Funkce vrací gif soubor.
Funkce vrací png soubor.
Funkce vrací swf soubor (Flash, Flex atd.).
Funkce vrací dir soubor (Director).
Funkce vrací dxr soubor (Director).
Funkce vrací dcr soubor (Director).
Funkce vrací cst soubor (Director).
Funkce vrací cxt soubor (Director).
Funkce vrací zip soubor.
Funkce vrací rtf soubor.
Funkce vrací mpeg soubor.
Funkce vrací avi soubor.
Funkce vrací mp3 soubor.
Funkce vrací flv soubor.



© 1992-2010 Studio dmm, all rights reserved