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.