Wartbed:Architecture/Networking

From Dark Omen Wiki

(Difference between revisions)
Jump to: navigation, search
(+infoboxes)
(ASIO in TR2)
Line 7: Line 7:
* Libraries
* Libraries
-
** The [http://www.boost.org/doc/libs/1_41_0/doc/html/boost_asio.html Boost::ASIO] cross-platform C++ library for network and low-level I/O programming  
+
** The [http://www.boost.org/doc/libs/1_41_0/doc/html/boost_asio.html Boost::ASIO] cross-platform C++ library for network and low-level I/O programming. ASIO seems scheduled for the C++ TR2, and will likely be part of the next language revision following C++0x.
** [http://www.cs.wustl.edu/~schmidt/ACE.html ACE] (The ADAPTIVE Communication Environment) is a high-efficiency OO network programming toolkit in C++
** [http://www.cs.wustl.edu/~schmidt/ACE.html ACE] (The ADAPTIVE Communication Environment) is a high-efficiency OO network programming toolkit in C++
** [http://memcached.org memcached] is a distributed memory object caching system
** [http://memcached.org memcached] is a distributed memory object caching system

Revision as of 10:29, 11 December 2010

WARTBED Architecture
Documents related to technical design aspects and implementation details.
For a general overview of WARTBED, see the WARTBED Design Document

Architectural documents:

WARTBED

0.1 "Clausewitz"
0.2 "Jomini"
...


WARTBED uses a strict client-server architecture, where even local games are clients to a game server.

A network system should be designed. For this suitable libraries should be located and existing projects should be investigated

  • Libraries
    • The Boost::ASIO cross-platform C++ library for network and low-level I/O programming. ASIO seems scheduled for the C++ TR2, and will likely be part of the next language revision following C++0x.
    • ACE (The ADAPTIVE Communication Environment) is a high-efficiency OO network programming toolkit in C++
    • memcached is a distributed memory object caching system
  • Existing game projects to study
    • Glest
    • Spring -- There is a lobby for Spring (SpringLobby) done in wxWidgets that might be of use.
    • The open and free MANGOS World of Warcraft server project could provide good inspiration (uses ACE).
Personal tools
communication