Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/proxy/src/lib/network/README.NETWORK @ 9514

Last change on this file since 9514 was 9514, checked in by patrick, 19 years ago

messag reciving debug

File size: 2.9 KB
RevLine 
[9396]1
2
[9494]3
4WORKING_STACK:
5==============
6 - it works to connecto to a master server which is connected to a proxy itself
7
8
9
10UNSOLVED:
11=========
12 - what if the proxy server gets a new client and wants to add it to the game? There are some problems waiting in the network game manager
13 - actualy the whole message sending system won't work in this network topic. proxys have to relay messages to clients
14 - the clients cant get its ip in the handleHandshakes without throuwing sigseg
[9514]15 - MessageManager: proxy/server forward the messages always. Perhaps there is a case, where messages get forwarded forever if there is a loop in the network. think about it again.
[9494]16
17
18
[9396]19This readme just gives some hints for the general network programming:
20
[9397]21ARCHITECTURE:
22The NetworkStream is in the center of this structure.
23
24
[9396]25UserId:
[9494]26=======
[9396]27containing the id of a user (==client). This id must be unique within a orxonox network its used especialy in the NetworkStream for node identification and also in the Synchronizeable base class for permissions checking (PERMISSION_OWNER)
28
[9494]29the connections belonging tu toe userId's are stored in the NetworkStream::peers std::map. As a keyvalue the userId's are used. Therefore the usage of this peers map is very delicate. Don't ever try to add anything you are not sure about the id stuff.
[9396]30
[9494]31There are some reserved id's, don't mess with them:
320 :                  Master Server
331 :                  First Proxy Server
342 :                  Second Proxy Server
353 :                  Third Proxy Server
364 :                  Fourth Proxy Server
37.
38.
39.
40NET_MAX_PROXY        The maximal number of proxy servers
41NET_MAX... + 1       First Client
42NET_MAX... + 2       Second Client
43.
44.
45.
46NET_MAX_CONNECTION   Last client
47
48The proxy server ids are assigned as stated in the data/trunk/config/network_settings.conf, the first proxy server in the list gets the id NET_ID_PROXY_01 and so on.
49
50
51
[9400]52uniqueId:
[9494]53=========
[9400]54uniqueId is an id (unique :D) for each synchronizeable to be identified in a network. the number space for uniqueIds goes from 0 to maxplayers - 1
55
56
[9494]57permissions:
58============
59Each synchronizeable variable has some write permissions. this permission systems allows to manage which network nodes are able to write the variables.
60PERMISSION_MASTER_SERVER       : only the master server can write this variable
61PERMISSION_PROXY_SERVER        : only the proxy server can write this variable
62PERMISSION_OWNER               : only the owner can write this variable
63PERMISSION_ALL                 : all clients can write this variable
64
65
66
67
68
[9396]69NetworkStream PeerInfo list: (peers)
[9494]70=====================================
71The network node with the offset 0 is always the server to which the client must connect to (in case there are connections to other hosts at the same time).
72
73
74
[9514]75MessageManager:
76===============
77The message manager has special handling if its a master/proxy: the messages will simply be forwarded to the other server
Note: See TracBrowser for help on using the repository browser.