|
Rezervační systém
|
serverová část pro komunikaci s HTTP klientem ...
#include <ServerHttp.h>
Veřejné metody | |
| CServerHttp (unsigned uiThreads, const char *pszHost, FnProcess fnProcess, void *pParam) | |
| konstruktor ... | |
| virtual | ~CServerHttp () |
| destruktor ... | |
Veřejné metody dědí se z CServerTcp | |
| CServerTcp (unsigned uiThreads, const char *pszHost, FnProcess fnProcess, void *pParam) | |
| konstruktor ... | |
| virtual | ~CServerTcp () |
| destruktor ... | |
| virtual bool | Start (void) |
| spuštění serveru ... | |
| virtual void | Stop (void) |
| zastavení serveru ... | |
Veřejné metody dědí se z CServerConnection | |
| CServerConnection (FnProcess fnProcess, void *pParam) | |
| konstruktor ... | |
| virtual | ~CServerConnection () |
| destruktor | |
Chráněné metody | |
| virtual void | CmdProcessing (SOCKET hClient) |
| komunikace a zpracování příkazu ... | |
Chráněné metody dědí se z CServerConnection | |
| bool | CallProcessing (unsigned *puiResult, CBlob *cCmd) |
| vyvolání uživatelské funkce ... | |
serverová část pro komunikaci s HTTP klientem
Jednoduchý vícevláknový server HTTP přebírá veškerou funkcionalitu TCP serveru, jediná a zásadní odlišnost je v práci s přijatými daty. Zatímco TCP server má na druhé straně kompatibilního klienta, proti tomuto serveru stojí webový prohlížeč. Server musí pro klienta připravit vhodnou webovou stránku s formulářem, z něhož pak může extrahovat potřebná data, která pak po zpracování opět ve formě HTML kódu prezentuje klientovi. V tomto smyslu přebírá do značné míry úlohu výkonného modulu na klientské straně.
| CServerHttp::CServerHttp | ( | unsigned | uiThreads, |
| const char * | pszHost, | ||
| FnProcess | fnProcess, | ||
| void * | pParam | ||
| ) |
konstruktor
Vytvoření instance vicevláknového HTTP serveru.
| [in] | uiThreads | maximální počet paralelně běžících zpracovatelských vláken |
| [in] | pszHost | určení IP adresy a portu pro naslouchací soket U serveru je možné naslouchat na všech IP adresách, které má počítač přiděleny a přijímat tak zprávy od všech vzdálených i lokálních klientů. Podporované formáty jsou popsány u CSocketEndpoint::CSocketEndpoint. |
| [in] | fnProcess | adresa funkce typu FnProcess pro zpracování příkazů na serveru |
| [in] | pParam | libovolný parametr, který bude předán uživatelské funkci |
|
virtual |
destruktor
Zajišťuje dealokaci všech vlastních zdrojů, ovšem až po dokončení všech zpracovatelských vláken.
|
protectedvirtual |
komunikace a zpracování příkazu
Nová implementace metody vlastně zajišťuje veškerou novou (tj. odlišnou) funkcionalitu třídy. Je zodpovědná za nejzákladnější práci s HTTP, přípravu webových stránek s formuláři, zpracování zasílaných dat atd.
| [in] | hClient | soket, na kterém je navázáno spojení s klientem (prohlížečem) |
Reimplementuje stejnojmenný prvek z CServerTcp.
1.8.5