You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

If you ship network licenses to your end users, they will need to use a license server. The license server, lmx-serv, reads your network license and makes it available over the customer's network. The supplied configuration file, lmx-serv.cfg, which serves as a template for end users, should be used along with the license server.

Communication between the client (your application) and the server is done over a TCP/IP connection at port 6200 (default). When the client requests a license, it is taken from the pool of available licenses and is reserved for that client. A client can be connected to multiple license servers simultaneously. This provides the flexibility to use multiple servers in cases where a checkout request involves checking out more than one feature. For example, for an application that consists of multiple features, a client can check out Feature1 from ServerA and Feature2 from ServerB.

Since clients may at times disconnect unexpectedly, the license server maintains a timeout. If the server does not receive any communication from the client application within the timeout, any licenses assigned to that client will be returned to the available license pool.

The connection to the server is established when the client attempts to checkout a license. If the connection fails, the client will attempt to reestablish the connection it had before the failure.

Once the client has performed its last checkin (that is, has returned all licenses to the server), the connection to the server is closed. It is recommended that client applications explicitly checkin all licenses instead of using the LM-X API to checkin licenses (see LMX_Checkin).
 

License server extensions

The license server supports extensions to accommodate custom behavior; for example, you can:

  • Modify the length of connection timeouts.
  • Set the custom HostID callback function to create licenses that are locked to a license server with a custom HostID.
  • Enable notifications for cases when a client tries to checkout or reserve a feature that is not available.
  • Get information prior to or as part of the checkout/checkin, reservation, and reservation early return requests on the server side, which allows for flexibility when determining which licenses should be checked in and out, and lets you change license requests dynamically.

You include your custom code in the file lmxserverconf.c, which is used to build the file liblmxvendor.dll (for Windows) or liblmxvendor.so (for Unix). A default liblmxvendor file is included with the SDK.

You must distribute liblmxvendor.dll (or .so) to end users together with the license server executable (lmx-serv). See End-user file distribution for more information about distributing this and other files to end users.

  • No labels