Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 9480 was 9480, checked in by patrick, 18 years ago

big progress today, tomorrow the synchronization of a client-proxy-master chain will have to work

File size: 2.7 KB
Line 
1
2
3
4WORKING_STACK:
5==============
6 - it works to connecto to a master server which is connected to a proxy itself
7 - it doesn't work to connecto to a proxy which is connected to the master :
8    segfault during the handshake handling
9    => investigate the handshake handling (especialy the getRemoteAddress )
10      => probably its a problem with the userId's
11
12
13UNSOLVED:
14=========
15 - 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
16 - actualy the whole message sending system won't work in this network topic. proxys have to relay messages to clients
17
18
19
20
21This readme just gives some hints for the general network programming:
22
23ARCHITECTURE:
24The NetworkStream is in the center of this structure.
25
26
27UserId:
28=======
29containing 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)
30
31the 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.
32
33There are some reserved id's, don't mess with them:
340 :                  Master Server
351 :                  First Proxy Server
362 :                  Second Proxy Server
373 :                  Third Proxy Server
384 :                  Fourth Proxy Server
39.
40.
41.
42NET_MAX_PROXY        The maximal number of proxy servers
43NET_MAX... + 1       First Client
44NET_MAX... + 2       Second Client
45.
46.
47.
48NET_MAX_CONNECTION   Last client
49
50The 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.
51
52
53
54uniqueId:
55=========
56uniqueId 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
57
58
59permissions:
60============
61Each synchronizeable variable has some write permissions. this permission systems allows to manage which network nodes are able to write the variables.
62PERMISSION_MASTER_SERVER       : only the master server can write this variable
63PERMISSION_PROXY_SERVER        : only the proxy server can write this variable
64PERMISSION_OWNER               : only the owner can write this variable
65PERMISSION_ALL                 : all clients can write this variable
66
67
68
69
70
71NetworkStream PeerInfo list: (peers)
72=====================================
73The 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).
74
75
76
Note: See TracBrowser for help on using the repository browser.