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

Configuration of the server
The configuration file is divided into several sections. In the section socket-server we set the parametres that refer to loading and running of the socket server. In the section http-server we set the parametres that refer to loading and running of the http server. In the section domains we set domains, rooms and variables that we want to use in the XML Socket Multiuser Server. The section domains is divided into several subsections domain that include sections room. The sections domains were created to divide the configuration for more developers that host on the XML Socket Multiuser Server. Each developer is given one or more domain sections with personal settings.

Example of file eClever.config

Meaning of the attributes is described below:

Section config
If you do not want to define configuration data for XML Socket Server in eClever.config, you can create any configuration file in the section config. This file of any name can also be placed in any folder. In this case eClever.config has this basic form:

<configServer>
        <config file="c:\socket\abc.xml" />
</configServer>

The configuration data itself is then in the shape of abc.xml. This file can be encoded. In this file there is, of course, no config section but apart from that its format is the same as the one of eClever.config.
file Name of the configuration file including the path to it. The path must always be defined.
If we include config and other sections (license, logging, news etc.) in eClever.config, it will be processed as follows: If the new configuration file defined in the section config and attribute file exists and has the right format, data included in it will be used to configure the XML Socket Server. Data saved in eClever.config after the section config will be ignored. If the file filled in the attribute file does not exist or if it has a bad format the configuration data will be read from eClever.config. This can be used when we use an external configuration file edited using configuration tools. If we make an error in the new configuration file, the XML Socket Server reads configuration data from eClever.config enabling us to continue working with it. In this case the values from eClever.config will serve as initial configuration. It is clear that eClever.config must be tested and without any errors so that we can log in to the XML Socket Server at any time in order to correct any possible errors in the new configuration file.
Section logging
logPath Folder on the disc where log files are to be created. If the given file does not exist or if the attribute is empty, log files are created in the folder logs which must be created in the same root as XML Socket Server. If neither the folder logs exists, no log files are created.
Note: XML Socket Server does not create non existing folders.
isLogging   Settings defining whether the XML Socket Server will create log files or not. If you insert true, the XML Socket Server will save log files to a folder defined in logPath in the shape of Server-year-month-day, for example Server-2005-10-24.log.
isLoggingMsg  

Settings defining whether the XML Socket Server will save entire commnication among clients and the XML Socket Server or not. If you insert true, the XML Socket Server will save log files to a folder defined in logPath in the shape of Protocol-year-month-day, for example Protocol-2005-10-24.log. These logs are very useful when tunning applications. In a normal operation they can be switched off so that they don' t burden the XML Socket Server.

Section news
active The attribute defines whether you are interested in receiving news or not.
If you use the XTRA news.ecl in addition, you will be informed about news in a pop-up window in the lower right corner of the screen.
email E-mail on which you want us to sent information about the new version of the XML Socket Multiuser Server - eClever. If you fill in the attribute email the XML Socket Multiuser Server - eClever will connect to web sever, where all the information regarding new versions of the XML Socket Multiuser Server - eClever are saved. If a test detects that you are working with an older version of the XML Socket Multiuser Server - eClever than is available you will be informed by mail about the latest version available and about the new features that it includes. The test always takes place after the initialization of the XML Socket Multiuser Server.
Note: If you want, you can, of course, fill more e-mails.
Section black-list
Black-list is a list of IP adresses, which we want to deny access to XML Socket Multiuser Server from. Example: 
<black-list> 
        <ip>128.0.1.12</ip>
        <ip>128.0.0.11</ip>
</black-list>
Section white-list
White-list is a list of IP adresses, which we want to allow access to XML Socket Multiuser Server from. This is useful in cases when only a limited group of users have access to XML Socket Multiuser Server whereas for other users the access is forbidden. If the section white-list is empty all the users have access to Xml Socket Multiuser Server, all the users not listed in the section black-list respectively. Example:
<white-list> 
        <ip>128.0.1.15</ip>
        <ip>128.0.0.18</ip>
</white-list>
Section master-server
XML Socket Multiuser Server - eClever can now be used in P2P networks. Data are sent to a superior http server when eClever is being opened and closed.By this means the superior http server is informed which eClever servers are open.If a certain client asks for this information, the superior http server can reply specifying to which eClever server they should connect. The superior server can be represented by any server application created, for example, in ASPX, PHP etc.
Example:
<master-server>
    <server>http://abc1.web-cd.cz/</server>
    <server>http://abc2.web-cd.cz/</server>
</master-server>
server Address of the superior http server where data about eClever server are sent using the method POST. The data are sent always when eClever is being opened or closed.Several superior servers can exist at the same time.
Note: If the attribute server is not filled no data will be sent, of course.
Upon the initialization of eClever the following data are sent:
serverId Identification of the server. it is always the identical for the given server and computer where it is run.
connections Information about the connection in the shape:
#ip address 1:port 1#ip address 2:port 2#...ip address n:port n#.
For example: #89.102.109.210:80#87.2.59.410:2727#
productName Name of the product that has launched connection with the superior server.
fileVersion Version of the product that has launched connection with the superior server.
state "start" value is sent here.
type Information about which server has been run. For socket the value "socket" is sent, for http then "http".
Upon the closure of eClever the following data are sent:
serverId Identification of the server, see above.
state "stop" value is sent here.
type The same meaning as for the above mentioned.
Section externalAppStart
You can now run external exe applications when opening the eClever server.
app The application to be run when opening the eClever server.
The application must be placed in the directory externalApp.

Example:
For: file="abc.exe" the file abc.exe must be placed in the directory externalApp.
For: file="test\abc.exe" the file abc.exe must be placed in the directory externalApp\test.
Section externalAppStop
When closing the eClever server you can now run external exe applications.
app The application to be run when closing the eClever server.
The application must be placed in the directory externalApp.
Section http-server
root Root is a basic directory that the http server will load documents from. If the parameter root is not defined, it means root="", then it is considered to be the directory in which is placed eClever.exe.
maxDocLength The maximal size that an http server returned document can have. The value is inserted in kB. When attempting to exceed this value an error announcement is returned.
Section http-server/connections
ip   Is the ip address on which the http server will listen. If you insert 127.0.0.1 the http server will be listening on "localhost". If you insert 0.0.0.0, the http server will be listening on all ip addresses available on the computer.
port     Is number of the port on which the http server will checks if a user has been connected. This port must not be engaged. Sometimes it can happen that some ports in the network are blocked and then it is not possible to get connected to the http server. The best option is to create an ip address and listen the port 80, which is never blocked on the Internet. This port must be unoccupied on the given ip address and no other device, such as ISS, for example, can use it.
Section socket-server
maxUsers   Maximal number of clients that can be looged in the XML Socket Server. If you insert value 0 any number of clients can be logged, which is on the other hand limited by the license conditions of the XML Socket Multiuser Server.
maxMemory   The maximal memory in MB that can be used by the XML Socket Multiuser Server. If you insert 0, the XML Socket Multiuser Server can have as much memory as the operational system allows. To connect one client the XML Socket Server consumes approximately 17 kB.
loginTimeOut   Time in seconds, in which the connected client will be disconnected if he doesn't log in.
userIdleTime   Time in seconds, in which the client will be disconnected if he doesn't show any activity.
maxMsgLength   The maximal size of the message sent to the XML Socket Multiuser Server. The value is inserted in kB.
If trying to exceed this limit the client is disconnected immediately from the XML Socket Server.
Section socket-server/connections
ip   Is the ip address on which the socket server will listen. If you insert 127.0.0.1 the socket server will be listening on "localhost". If you insert 0.0.0.0, the socket server will be listening on all ip addresses available on the computer.
port     Is number of the port on which the socket server will checks if a user has been connected. This port must not be engaged. Sometimes it can happen that some ports in the network are blocked and then it is not possible to get connected to the socket server. The best option is to create an ip address and listen the port 80, which is never blocked on the Internet. This port must be unoccupied on the given ip address and no other device, such as ISS, for example, can use it. Another way is to use HTTP Tunneling.
Section socket-server/xtras
name   Name under which we will call the extension.
file   Ecs library used to extend the XML Socket Multiuser Server.
Note: The ecs library must be placed in folder xtras.
Section socket-server/domain
name   Name of the domain for which the configuration will be used. This attribute is only informative.
password   Password that must be used for logging in of a client to the XML Socket Server for a certain domain.
xtras   The option whether to allow or not to use a certain extension in the domain. The extension is inserted as a text composed of name attributes of separate xtras in the section extensions, divided by the sign #. For example, xtras="test1#test2".
maxUsers   Maximal number of clients that can be looged in the domain. If you insert value 0 any number of clients can be logged, which is on the other hand limited by the license conditions of the XML Socket Multiuser Server.
maxRooms   The maximal number of rooms that can be created in the domaine on-line.
If maxRooms=0, new rooms cannot be added to the domain.
maxRoomsPerUser   The maximal number of new rooms that can be created by one client.
If maxRoomsPerUser=0, new rooms cannot be added to the domain.
maxVariables   The maximum number of variables that can be founded in each on-line room.
If maxVariables=0 new variables cannot be defined in the room.
maxVariablesPerUser   The maximal number of variables that can be created by one client in one room.
If maxVariablesPerUser=0 new variables cannot be defined in the room.
Section socket-server/room
name  

Name of the room.

password   Password for entry to the room.
isPrivate   Option distinguishing visible and hidden room.
maxUsers   Maximal number of clients that can be looged in the room. If you insert value 0 any number of clients can be logged, which is on the other hand limited by the license conditions of the XML Socket Multiuser Server.
category   The category to which you can link this room. This attribute is only informative and for the XML Socket Multiuser Server is not any important.
content   A brief description of the room. This attribute is only informative and for the XML Socket Multiuser Server is not any important.
language   Language to be used in this room. This attribute is only informative and for the XML Socket Multiuser Server is not any important.
Section socket-server/variables
name   Name of the variable.
isPrivate   Option defining if the variable is considered as public or non-public.
value   The value of variable is written as a text value of the tag <variable>.
Example: <variable name="a" isPrivate="false">18</variable>
Note: To be able to work with variables in a given room we have to be logged in this room.

To log in it is necessary for the user to use the atribute name in the domain section in the function "login". This atribute has to be unique for the whole configuration file eClever.config. The atribute name in the section domains does not refer to the domains on the web server. It serves to divide the configuration file eClever.config for the reasons regarding hosting.

Important: Of course you do not have to use the whole configuration file on every occasion. If one only want to work with the http server they do not have to use other components of eClever.config, which are related for example to the socket server. As well other sections are compulsory. It depends on every user which components of the server he needs to use.

Configuration of the server using the application configXSS
The whole administration is very simple. You either, in notepad, for example, edit the file eClever.config or you can download the application configXSS, where you fill in the appropriate dates and by clicking on export you save eClever.config to the folder where the XML Socket Multiuser Server is installed. After having changed eClever.config you have to restart the XML Socket Multiuser Server.





© 1992-2010 Studio dmm, all rights reserved