Outils pour utilisateurs

Outils du site


projets:archnetbc

Ceci est une ancienne révision du document !


Architecture réseau Bridge-Command

Cette section définit l'architecture réseau qui régit le logiciel Bridge-Command (BC)

Protocole/Librairie

La librairie utilisée dans BC est Enet(http://enet.bespin.org/) sur UDP.

Flux

Chaque entité logiciel au sein de BC est un client qui communique vers un seul et unique server : bridgecommand-es. Chaque message possède une entête qui lui est propre, voir la table ci-dessous :

Emmeteur Entête Description Consommateur
Map Controller (bridgecommand-mc) “MC” Message permettant d'influer sur certains paramêtre de la simulation (position du bateau, météo,…) Bridge-Command principal (bridgecommand-bc)
Bridge-Command principal (bridgecommand-bc) “BC” Message contenant les infos principales du bateau (position, vitesse, cap,…) Bridge-Command secondaire (bridgecommand-bc) et Map Controller (bridgecommand-mc)
Bridge-Command principal (bridgecommand-bc) “SD” Message permettant de mettre fin à la simulation Bridge-Command secondaire (bridgecommand-bc) et Map Controller (bridgecommand-mc)
Bridge-Command principal (bridgecommand-bc) “SCN” Message définissant le scenario initial qui sera chargé (map, autres bateaux, coordonées GPS,…) Bridge-Command secondaire (bridgecommand-bc), Bridge-Command principal en mode MultiJoueur uniquement(bridgecommand-bc) et Map Controller (bridgecommand-mc)
Bridge-Command principal en mode MultiJoueur uniquement (bridgecommand-bc) “MPF” Message contenant les infos minimalistes du bateau (position, vitesse, cap et RoT) Bridge-Command MultiJoueur Hub (bridgecommand-mh)
Bridge-Command MultiJoueur Hub (bridgecommand-mh) “MH” Message contenant les infos minimalistes du bateau (position, vitesse, cap et RoT) Bridge-Command principal en mode MultiJoueur uniquement (bridgecommand-bc)
Bridge-Command principal (bridgecommand-bc) OS Message contenant des infos minimalistes du bateau (position, vitesse, cap et météo) WindInject (utilitaire permettant d'injecter une grille de vent) ou PolarManagement (permet de lire la puissance générée par un système vélique)
WindInject (utilitaire permettant d'injecter une grille de vent) “WI” Message contenant uniquement une valeur de vent vrai Bridge-Command secondaire (bridgecommand-bc) et Map Controller (bridgecommand-mc)

Diagramme

On peut représenter schématiquement les communications comme sur l'exemple suivant :

Interface

Cette section renseignera chaque champs des messages indiqué dans le tableau de la section Flux.
L'intégralité du message est formaté au format ASCII, chaque champ est séparé par une virgule “,” et le caractère de fin de message est un dièse “#”

Message MC

Modifier le "leg" d'un bateau

Entête Champs Description
“MC” “CL” Change Leg
ship numéro du bateau
leg numéro du leg
legCourse cap du bateau
legSpeed vitesse du bateau
legDistance distance du leg

Exemple : MCCL,1,2,90,12,10#

Supprimer le "leg" d'un bateau

Entête Champs Description
“MC” “DL” Delete Leg
ship numéro du bateau
leg numéro du leg

Exemple : MCDL,1,2#

Ajout d'un "leg" à un bateau

Entête Champs Description
“MC” “AL” Add Leg
ship numéro du bateau
leg numéro du leg
legCourse cap du bateau
legSpeed vitesse du bateau
legDistance distance du leg

Exemple : MCAL,1,2,90,12,10#

Changer la position d'un bateau

Entête Champs Description
“MC” “RS” Replace Ship
ship numéro du bateau
posX position en X du bateau
posY position en Y du bateau

Exemple : MCRS,1,100,200#

Modifier le MMSI d'un bateau

Entête Champs Description
“MC” “MM” Modify Mmsi
ship numéro du bateau
mmsi Numéro MMSI

Exemple : MCMM,1,123456789#

projets/archnetbc.1753864215.txt.gz · Dernière modification : de flo