Skip to content

First server app

ElbyFross edited this page Jan 19, 2020 · 5 revisions

Key points

Purposes of a server app can be different and not set in stone. The DNF provides a several server implementations for covering base purposes.

  • The server in the DNF ecosystem is not a physical machine. It's just a thread that implements a server loop logic.
  • The normal case when your server instance has a sub-servers. Example: The server can has broadcast sub-server that shares guest tokens to connected clients. The same server can has a few sub-servers that implements a several lines for handling queries.
  • The server must be derived from the BaseServer or from inherited one.

API overview

Method Description
SendAnswerViaPP Sends an answer to a client by using a query metadata to build a backward path. Using a NamedPipe for transmission.
pipeName A name of the pipe that will be started int the default server loop implemented by the ServerAPI.
securityLevel A security policy that will applied to the pipe during establishing a server thread.

Examples

The DNF implements the several in-box servers:

  • QueriesServer - the server that handles queries defined using the IQueryHandler.
  • SessionProvider - the server from the AuthorityController addon that handles users' authority session.
  • RelayServer - server that relais transmission between client and other server.
  • BroadcastServer - the server that broadcast some message to an every connected client.

Those code is per step documented and are better example.

Links

See also