Date of update: 5/15/2011
XML Socket Server - eClever
write us
Novelties
Web feeds
Links of Interest
Konfigurace serveru
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í.

Příklad eClever.config

Význam jednotlivých atributů je následující:
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.

Důležité: 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.

Konfigurace serveru pomocí aplikace configXSS
Celá administrace serveru je velmi jednoduchá. Buď můžete např. v notepadu editovat soubor eClever.config nebo si můžete stáhnout aplikaci configXSS, 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.






© 1992-2010 Studio dmm, all rights reserved