Version 11 (modified by landauf, 16 years ago) (diff) |
---|
Network
TracNav(TracNav/TOC_Development)?
Overview
The image below displays the basic concept of the Network Engine:
The basic jobs of the Network Engine are:
- Synchronise all objects of the universe between server and clients
- Provide a chatting mechanism
- Transmit all neccessary information about the players (nickname, score, …)
The server and client components manage all the other network components. They call all necessary functions every network tick (not exactly the same as a game tick).
Components
This is a description of the important network components and/or classes:
Component | Description | Classes included |
Host | Interface class of the Network Engine | Host, Server, Client, ClientInformation |
Synchronisable | Interface class for all network objects, that need synchronisation | Synchronisable |
internal components | ||
Gamestate? | Management of the object information to be synchronised | GamestateHandler, GamestateManager, GamestateClient |
Packet? | Management of the data to be transmitted | Packet, Acknowledgement, Chat, ClassID, DeleteObjects, Gamestate, Welcome |
Connection? | Management of the network connection between server and client | ConnectionManager, ClientConnection |
External API
Synchronisable
The Synchronisable class is a base class of all Objects that need to be synchronised (e.g. SpaceShip, Model, Projectile, etc.). It is the interface between the ObjectHierarchy and the Network Engine. For more information about this go here.
Host
The Host class is the Base class of the Server and Client classes. It provides some static functions:
- network::Host::running(): return true, if a server or client is running
- network::Host::getPlayerID(): returns the player id of a client (this is only a temporary hack until we have a PlayerManager)
- network::Host::getShipID(): return the objectID of the players ship (also a temporary hack)
- network::Host::isServer(): return true/false (whether we are in server/client mode)
- other functions (not really meant to be used outside the network engine)
Attachments (2)
- conceptoverview.png (19.9 KB) - added by scheusso 16 years ago.
-
network_overview.png
(33.8 KB) -
added by varyo 7 years ago.
for internal overview of dataflow through network engine
Download all attachments as: .zip