Tillbaka till Omgivningssimulator
Sida 25
5.3.2 Adresser
Varje Meddelandetyp är förknippad med en multicastadress och en UDP-port (Se kapitlet Meddelandetyper). På denna adress/port sänds endast denna typ av information.
5.3.3 Innehåll
Meddelandetyper vars innehåll är intressant för en grupp av EXS, men ej alla. T.ex Objectdata
5.4 Client-Server gränssnitt
Ett internt klientID används vid kommunikation mellan klienterna och servern. En mängd felkoder av UNIXmodell används. Skrivet i RPC/XDR. Se kapitlet Meddelandetyper för definition av sammansatta datatyper (typer som börjar med stor bokstav).
Dessa funktioner anropas i klienten i EXS-NET men utförs av servern i ENS-NET. Funktionerna arbetar direkt på ENS-SIM. Ett anrop av en av nedanstående funktioner kan ta godtyckligt lång tid, eftersom dessa meddelanden har lägst prioritet vid mottagning och sändning. Se kapitlet Körningsexempel för exempel på användning av nedanstående funktioner.
5.4.1 Run-time:
- int init_object (ClassID classID)
Skapar ett nytt objekt med alla värden = default. Sätts inte in i omvärlden.
- int insert_object (int objectNr)
Sätter in ett nytt objekt i omvärlden.
- int delete_object (int objectNr)
Tar bort ett objekt ur omvärlden.
- int change_attr (int objectNr, FieldValue value)
Ändrar ett objekts eller en händelses attributvärde. Om objekt så raderas dess händelselista.
- int disconnect (int clientID)
Avregistrerar klienten hos servern. Hindrar dock inte EXS-NET från att lyssna på broadcast.
- int init_object_event (int objectNr, int type)
Skapar en händelse till givet objekt med alla värden = objektets värden. Sätts inte in i objektets händelselista.
- int insert_object_event (int objectNr, int TPNr)
Sätter in en händelse i ett objekts händelselista.
- int get_object_event (int objectNr, int place)
Returnerar unikt ID för en händelse på den givna platsen i det givna objektets händelselista. place=0 returnerar nästa händelse (place = 1).
- int delete_object_event (int objectNr, int TPNr)
Tar bort en händelse på den givna platsen i det givna objektets händelselista.
- int report_error (int clientID, int errorCode, Timedata time)
Logga klientID, felkod och tidpunkt för felet i ENS och ev. meddela användaren.
5.4.2 Start-up:
- int connect ()
Registrerar klienten hos servern. Unikt klientId returneras.
- int subscribe (InfoType infoType)
Klienten prenumererar på en viss informationstyp.
- int end_client_specification (int clientID)
Klienten meddelar att den är redo att ta emot omvärldsinformation
Sida 27