Konfigurační soubor je rozdělen na několik sekcí. V sekci socket-server nastavujeme parametry, které souvisí s chodem a spuštěním socket serveru. V sekci http-server
nastavujeme parametry, které souvisí s chodem a spuštěním http serveru. V sekci domains nastavujeme domény, místnosti a proměnné, které chceme na XML Socket Serveru používat. Sekce domains je rozdělena na několik sekcí domain, které obsahují sekce room. Sekce domain byly zavedeny pouze pro rozčlenění konfigurace pro více vývojářů, kteří využívají hosting na XML Socket Serveru. Každý vývojář, který využívá hosting na XML Socket Serveru pro své aplikace, má přiřazenu jednu nebo více sekcí domain, ve kterých má své nastavení.
Sekce config |
Pokud nechcete konfigurační údaje pro XML Socket Server zadávat v souboru eClever.config,
můžete si v sekci config zvolit libovolný konfigurační soubor, který může být také
umístěn v libovolném adresáři a může mít libovolné jméno. V tomto případě má soubor
eClever.config základní tvar:
<configServer>
<config file="c:\socket\abc.xml"/>
</configServer>
Vlastní konfigurační údaje jsou potom např. v souboru abc.xml. V tomto souboru se samozřejmě již neuvádí sekce config, ale jinak
má nový konfigurační soubor stejný formát, jako soubor eClever.config. |
|
|
|
file |
|
Název konfiguračního souboru, včetně cesty k souboru. Cesta musí být vždy uvedena. |
|
|
|
Pokud v eClever.config uvedeme sekci config a další sekce (licence, logging, news
atd.), bude eClever.config zpracován následovně. Pokud nový konfigurační soubor
uvedený v sekci config v atributu file bude existovat a bude mít správný formát,
použijí se údaje v něm uložené ke konfiguraci XML Socket Serveru a údaje uložené
v eClever.config za sekcí config budou ignorovány. Pokud soubor uvedený v atributu
file nebude existovat nebo bude mít špatný formát, načtou se konfigurační údaje
ze souboru eClever.config. Toho můžeme s výhodou využít tehdy, pokud používáme externí
konfigurační soubor, který editujeme pomocí konfiguračních nástrojů. Pokud v novém
konfiguračním souboru uděláme chybu, načte XML Socket Server konfigurační údaje
ze souboru eClever.config a umožní nám dále pracovat s XML Socket Serverem. V tomto
případě nám budou hodnoty v eClever.config sloužit jako startovací konfigurace.
Je zřejmé, že soubor eClever.config musí být otestovaný a bez chyb, abychom se mohli
kdykoli bez problémů přihlásit na XML Socket Server a chyby opravit. |
|
|
|
|
Sekce logging |
logPath |
|
Složka na disku, ve které se mají vytvářet log soubory. Pokud zadaná složka neexistuje
nebo je atribut prázdný, vytvářejí se log soubory ve složce logs, která musí být
založena v rootu, ve kterém je umístěn XML Socket Server. Pokud neexistuje ani složka
logs, žádné log soubory se nevytvářejí.
Pozn. XML Socket Server neexistující složky nezakládá. |
isLogging |
|
Nastavení, zda má XML Socket Server vytvářet log soubory. Pokud zadáte hodnotu true,
XML Socket Server ukládá do složky definované v logPath log soubory ve tvaru
Server-rok-měsíc-den. Např. Server-2005-10-24.log. |
isLoggingMsg |
|
Nastavení, zda má server ukládat veškerou XML komunikaci mezi klienty a XML Socket
Serverem. Pokud zadáte hodnotu true, XML Socket Server do složky definované v logPath
ukládá log soubory ve tvaru Protocol-rok-měsíc-den.
Např.
Protocol-2005-10-24.log. Tyto logy jsou velmi výhodné při ladění aplikací. V ostrém provozu je vhodné tyto logy vypnout, aby nezatěžovaly provoz XML Socket
Serveru. |
|
Sekce news |
active |
|
Atribut active určuje, zda máte zájem přijímat informace o novinkách.
Pokud navíc ještě použijete XTRA news.ecl, budete informováni o novinkách
ve vyskakovacím okně v pravém dolním rohu obrazovky. |
email |
|
E-mail, na který chcete posílat informace o nové verzi XML Socket Multiuser Serveru
- eClever. Pokud vyplníte atribut email, spojí se XML Socket Server - eClever s
web serverem, na kterém jsou uloženy informace o nových verzích XML Socket Multiuser
Serveru - eClever. Pokud test zjistí, že pracujete se starší verzí XML Socket Multiuser
Serveru - eClever, než který je k dispozici, budete e-mailem informováni o poslední
verzi XML Socket Multiuser Serveru - eClever a o novinkách, které obsahuje. Tento
test se provádí vždy při startu XML Socket Serveru.
Pozn. Pokud máte zájem, můžete samozřejmě uvést více e-mailů. |
|
Sekce black-list |
Black-list je seznam ip adres, ze kterých chceme z nějakého důvodu zakázat přístup
na XML Socket Multiuser Server. Příklad:
<black-list>
<ip>128.0.1.12</ip>
<ip>128.0.0.11</ip>
</black-list> |
|
Sekce white-list |
White-list je seznam ip adres, ze kterých chceme povolit přístup na XML Socket Multiuser
Server. Toto má význam v případě, kdy XML Socket Multiuser Server má sloužit pouze
určité skupině uživatelů a jiní uživatelé nemají mít na XML Socket Multiuser Server
přístup. Pokud je sekce white-list prázdná, mají na XML Socket Multiuser Server
přístup všichni uživatelé, resp. všichni uživatelé, kteří nejsou uvedeni v sekci
black-list. Příklad:
<white-list>
<ip>128.0.1.15</ip>
<ip>128.0.0.18</ip>
</white-list> |
|
Sekce master-server |
XML Socket Multiuser Server - eClever lze nyní použít v P2P sítích. Při spuštění
a zastavení serveru eClever se odesílají nadřazenému http serveru údaje. Nadřazený
http server tak bude mít informace, které servery eClever jsou aktuálně spuštěny.
Pokud určitý klient o tyto informace požádá, může mu nadřazený server odpovědět,
k jakému serveru eClever se má připojit. Jako nadřazený server může sloužit libovolná
serverová aplikace vytvořená např. v ASPX, PHP atd.
Příklad:
<master-server>
<server>http://abc1.web-cd.cz/</server>
<server>http://abc2.web-cd.cz/</server>
</master-server> |
|
|
|
server |
|
Adresa nadřazeného http serveru, na který se metodou POST odesílají údaje o serveru
eClever. Údaje se odesílají vždy při spuštění serveru a při ukončení serveru. Nadřazených
serverů může být více.
Pozn. Pokud nebude atribut server vyplněn, žádné údaje se samozřejmě odesílat nebudou. |
|
|
|
Při spuštění serveru eClever se odesílají tyto údaje: |
serverId |
|
Identifikátor serveru, který je vždy stejný pro daný server a daný počítač, na kterém
je eClever spuštěn. |
connections |
|
Informace o připojení ve tvaru:
#ip address 1:port 1#ip address 2:port 2#...ip address n:port n#.
Např. #89.102.109.210:80#87.2.59.410:2727# |
productName |
|
Jméno produktu, který navázal s nadřazeným serverem spojení. |
fileVersion |
|
Verze produktu, který navázal s nadřazeným serverem spojení. |
state |
|
Zde se odesílá hodnota "start". |
type |
|
Informace, který server byl spuštěn. Pro socket server se odesílá hodnota "socket"
a pro http server hodnota "http". |
|
|
|
Při zastavení serveru eClever se odesílají tyto údaje: |
serverId |
|
Identifikátor serveru, viz. výše. |
state |
|
Zde se odesílá hodnota "stop". |
type |
|
Stejný význam jako výše. |
|
|
|
|
Sekce externalAppStart |
Při spuštění serveru eClever lze nyní spustit externí exe aplikace. |
app |
|
Aplikace, která se má spustit při startu serveru eClever.
Aplikace musí být umístěna v adresáři externalApp.
Příklad:
Pro zadání: file="abc.exe" musí být soubor abc.exe umístěn v adresáři externalApp.
Pro zadání: file="test\abc.exe" musí být soubor abc.exe umístěn v adresáři externalApp\test.. |
|
Sekce externalAppStop |
Při ukončení práce serveru eClever lze nyní spustit externí exe aplikace. |
app |
|
Aplikace, která se má spustit při ukončení serveru eClever.
Aplikace musí být umístěna v adresáři externalApp. |
|
Sekce http-server |
root |
|
Základní adresář, ze kterého bude http server číst dokumenty. Pokud není parametr
root zadán, tzn. root="", vezme se za root adresář, ve kterém je umístěn eClever.exe. |
maxDocLength |
|
Maximální velikost, jakou může mít dokument vrácený http serverem. Hodnota se zadává
v kB. Při pokusu o překročení této hodnoty je klientovi vrácena informace
o chybě. |
|
Sekce http-server/connections |
ip |
|
Je ip adresa, na které bude http server naslouchat. Pokud zadáte adresu 127.0.0.1,
bude http server naslouchat na "localhost". Pokud zadáte adresu 0.0.0.0, bude http
server naslouchat na všech ip adresách, které jsou na daném počítači k dispozici. |
port |
|
Je číslo portu, na kterém bude http server naslouchat. Tento port nesmí být na daném
počítači obsazen. Někdy se může stát, že určité porty v síti jsou blokovány, a pak
není možné se připojit na http server. Nejlepší řešení je zřídit si ip adresu a
naslouchat na portu 80, který není v internetu nikdy blokován. Tento port musí být
samozřejmě na dané ip adrese volný a nesmí ho využívat jiné zařízení, jako např.
IIS.
|
|
Sekce socket-server |
maxUsers |
|
Maximální počet klientů, který se může na XML Socket Server připojit. Pokud zadáte
hodnotu 0, může se na XML Socket Server připojit libovolný počet klientů, který je ovšem samozřejmě omezen licencí XML Socket Serveru. |
maxMemory |
|
Maximální paměť v MB, kterou může XML Socket Server používat. Pokud zadáte hodnotu 0, může XML Socket Server použít tolik paměti, kolik mu dovolí operační systém. Na připojení jednoho klienta XML Socket Server spotřebuje cca 17 kB paměti. |
loginTimeOut |
|
Čas v sekundách, za který bude klient připojený k XML Socket Serveru odpojen, pokud se nepřihlásí. |
userIdleTime |
|
Čas v sekundách, za který bude klient odpojen, pokud nevykazuje žádnou činnost. |
maxMsgLength |
|
Maximální velikost, jakou může mít zpráva odesílaná na XML Socket Server. Hodnota se zadává v kB. Při pokusu o překročení této hodnoty je klient okamžitě odpojen od XML Socket Serveru. |
|
Sekce socket-server/connections |
ip |
|
Je ip adresa, na které bude socket server naslouchat. Pokud zadáte adresu 127.0.0.1,
bude socket server naslouchat na "localhost". Pokud zadáte adresu 0.0.0.0, bude
socket server naslouchat na všech ip adresách, které jsou na daném počítači
k dispozici. |
port |
|
Je číslo portu, na kterém bude socket server naslouchat. Tento port nesmí být na
daném počítači obsazen. Někdy se může stát, že určité porty v síti jsou blokovány,
a pak není možné se připojit na socket server. Nejlepší řešení je zřídit si
ip adresu a naslouchat na portu 80, který není v internetu nikdy blokován. Tento
port musí být samozřejmě na dané ip adrese volný a nesmí ho využívat jiné zařízení,
jako např. IIS. Další způsob řešení tohoto problému je použít HTTP Tunneling. |
|
Sekce socket-server/xtras |
name |
|
Jméno, pod kterým budeme rozšíření volat. |
file |
|
Ecs knihovna, která se použije k rozšíření XML Socket Multiuser Serveru.
Pozn. ecs knihovna musí být umístěna ve složce xtras. |
|
Sekce socket-server/domain |
name |
|
Jméno domény, pro kterou bude použitá konfigurace. Tento atribut je pouze informativní. |
password |
|
Heslo, které se musí použít při přihlášení klienta na XML Socket Server pro určitou doménu. |
xtras |
|
Volba, zda v doméně povolíme používat určité rozšíření XML Socket Serveru. Rozšíření zadáváme
jako text složený z atributů name jednotlivých rozšíření ze sekce xtras,
oddělených
znakem #. Např. xtras="test1#test2". |
maxUsers |
|
Maximální počet klientů, který se může do domain připojit. Pokud zadáte hodnotu 0, může se do domain připojit libovolný počet klientů, který je ovšem samozřejmě omezen licencí XML Socket Serveru. |
maxRooms |
|
Maximální počet místností, který může být v domain online založen.
Je-li maxRooms=0, není možné do domény přidávat místnosti. |
maxRoomsPerUser |
|
Maximální počet nových místností, které může založit jeden klient.
Je-li maxRoomsPerUser=0, není možné do domény přidávat místnosti. |
maxVariables |
|
Maximální počet proměnných, který může být v každé místnosti online založen.
Je-li maxVariables=0, není možné v místnosti vytvářet proměnné. |
maxVariablesPerUser |
|
Maximální počet proměnných, které může jeden klient založit v jedné místnosti.
Je-li maxVariablesPerUser=0, není možné v místnosti vytvářet proměnné. |
|
Sekce socket-server/room |
name |
|
Jméno místnosti. |
password |
|
Heslo pro přístup do místnosti. |
isPrivate |
|
Volba, zda místnost viditelná je nebo není. |
maxUsers |
|
Maximální počet klientů, který se může do místnosti připojit. Pokud zadáte hodnotu 0, může se do místnosti připojit libovolný počet klientů, který je ovšem samozřejmě omezen licencí XML Socket Serveru. |
category |
|
Kategorie, do které chcete zařadit tuto místnost. Tento atribut má pouze informativní charakter a pro práci XML Socket Serveru není důležitý. |
content |
|
Stručný popis místnosti. Tento atribut má pouze informativní charakter a pro práci XML Socket Serveru není důležitý. |
language |
|
Jazyk, kterým se v této místnosti bude komunikovat. Tento atribut má pouze informativní charakter a pro práci XML Socket Serveru není důležitý. |
|
Sekce socket-server/variables |
name |
|
Jméno proměnné. |
isPrivate |
|
Volba, zda bude proměnná chápána jako veřejná nebo neveřejná. |
value |
|
Hodnota proměnné. Hodnotu proměnné zapisujeme jako textovou hodnotu tagu <variable>.
Příklad: <variable name="a" isPrivate="false">18</variable> |
Pozn.: Abychom mohli pracovat s proměnnými v určité místnosti, musíme být do této místnosti přihlášeni. |
Uživatel musí k přihlášení na XML Socket Server ve funkci login použít atribut name v sekci domain. Tento atribut musí být pro celý konfigurační soubor eClever.config jedinečný. Atribut name v sekci domain nijak nesouvisí s doménami na web serveru. Slouží pouze k rozčlenění konfiguračního souboru eClever.config z důvodu hostingu.
Samozřejmě nemusíte vždy používat celý konfigurační soubor. Pokud někdo
chce pracovat pouze s http serverem, nemusí vůbec používat další části v eClever.config,
které se týkají např. socket serveru. Rovněž další sekce jsou nepovinné. Záleží
na každém uživateli, které části serveru potřebuje využívat.
Celá administrace serveru je velmi jednoduchá. Buď můžete např. v notepadu
editovat soubor eClever.config nebo si můžete stáhnout aplikaci
, ve které vyplníte příslušné údaje a stisknutím tlačítka export
config si uložíte soubor eClever.config do složky, kde je nainstalován XML Socket
Server. Po změně eClever.config musíte XML Socket Server restartovat.