Elve Local Machine Settings

Modified on 2010/11/26 22:38 by Administrator — Categorized as: Uncategorized

The machine settings can be configured using the Machine Settings menu in Elve Management Studio or by running the MachineSettings.exe application.


Networking

Master Server Host Name

The hostname or ip address of the Master Service machine which client applications will use when connecting to the Master Service.

This is normally only set on machines running Elve applications and services other than the Master Service, however if the BindToIPAddress setting is set on the Master Service machine then MasterServerHostName should usually match it since some Master Service listeners will only be listening on the BindToIPAddress address.

Default: localhost

Well Known Local Host Name

This is normally only used when you have multiple network interface cards or multiple IP addresses in a machine.

The WellKnownLocalHostName is the local hostname or IP address that will be used by remote applications and services to talk back to the client application or service. An example of this would be when the Touch Screen Viewer application connects to the Master Service, Touch Screen Viewer tells the Master Service it's WellKnownLocalHostName and in some cases the Master Service may need to initiate a new connection back to the Touch Screen Viewer using the hostname or IP address specified in the WellKnownLocalHostName setting.

If WellKnownLocalHostName is not set then the local machine's DNS name will be used. Be sure that the local machine can be reached by the remote Elve applications and services using this name.

It is generally a good idea to use the Domain Name System (DNS) name of the local computer, but when the IP Address for a particular network interface card (NIC) (usually a wireless NIC) is changing rapidly, you must configure the application to use the WellKnownLocalHostName to enable finding the machine through DNS. However, when the computer name does not resolve with reasonable speed (if at all) and when the computer has more than one NIC, either physical or virtual (this is often the case with a dial-up connection or VPN network adapter), you should set the WellKnownLocalHostName setting to the IP address of the NIC that is currently in use for that connection.

You will need to set this when:


If WellKnownLocalHostName setting is not correct then you will see a message in the log that looks something like the following message. Notice the port # is not one of the standard Elve ports from 33900 to 33907 which is usually an indication of a failed callback connection due to an incorrect WellKnownLocalHostName.

ScriptEvaluatorException: An unknown error occurred while evaluating the script. SocketException: No connection could be made because the target machine actively refused it 192.168.122.12:14067
SocketException SocketErrorCode: ConnectionRefused

If you set the WellKnownLocalHostName setting you should review the BindToIPAddress setting description to see if it is also applicable.

Default: blank

Bind To IP Address

This is normally only used when you have multiple network interface cards (physical and/or virtual) in a machine and you need to tell Elve which network interface card should be used for outgoing network traffic from Elve and in some cases incoming traffic. If you have multiple network interface cards in a machine and you do not specify this setting then Elve will use the NIC with the highest priority for outgoing traffic and will listen for incoming traffic on all NICs.

Set BindToIPAddress to the IP address of a network interface card that all Elve applications and services should bind to on the local machine (with the exception of device drivers which use tcp, they will bind to the highest priority NIC for outgoing traffic unless the driver developer chooses otherwise).

Technically speaking, this is the local endpoint ip address on the local machine that Elve uses to send data out to the network and in some cases listen on.

If you set BindToIPAddress you may also need to set the WellKnownLocalHostName appropriately so that callback operations from the remote host can find the local NIC that initiated the original connection.

Default: blank

Logging

LoggingVerbosity values

Normal is the recommended setting for typical usage.


Default: Normal

Maximum Log Size

The maximum size that the log may grow to in bytes. The system will automatically remove older records to ensure the file does not exceed this size.

Default: 20971520 (20MB)

File Location

The MachineSettings.config file is located in the Codecore Technologies\Elve directory within the Common Program Data Folder, on a computer having any of the application installed.


This xml formatted file and each of it's parameters are optional, however if there is an xml syntax error within the file it usually results in the application or service failing to start.

The machine settings file is NOT encrypted.

Changes to the configuration file won't take effect until the applications are restarted (the master service and driver services need to be recycled).

Web Server

Web Server Root Directory Path

This is the root directory path of the web site that the Elve Web Server should host. If the Elve Web Server is not installed on this machine or you are using IIS then this setting is not used.

Default: %CommonApplicationData%\Codecore Technologies\Elve\WebSite

Web Server Port

This is the TCP port that the Elve Web Server should use to host the web site. If the Elve Web Server is not installed on this machine or you are using IIS then this setting is not used.

Default: 80 or 33904

Networking Ports

Default ports:

MasterServicePort1: 33900 HTTP API (RESTful Web Service)
MasterServicePort2: 33901
DriverServicePort1: 33902
DesktopServerPort1: 33903
MasterServicePort3: 33905 XML Communication Protocol
DesktopServerPort2: 33906
TouchServicePort1: 33907 Remote Touch Screen Protocol

Callback Ports

Callback ports can generally be set to 0 when the Master Service exists on the same network and there are no hardware firewalls between the services/applications. A port of 0 means that any available port will be used.

The Master Service must be able to make connections to the other applications and services. This is generally done as a callback, ie an app/service makes a short temporary connection to the Master Service with a command or instruction and in some cases the Master Service may make a temporary connection back to the calling application. The Hostname/IP Address and Port that the callback connection is made to is determined by the Bind To IP Address setting and the port specified here.

If a firewall exists between the Master Service and the other application or service then you will likely need to specify a callback port and open the port on the firewall.

Specifying a port other than 0 limits one running instance of the associated application or service on the machine.

Default ports:

TouchServicePort2: 0
WebServerPort2: 0
ElveManagementStudioPort1: 0
TouchScreenPort1: 0