Zum Hauptinhalt springen

Message-Exchange-Befehle

Message-Exchange-Befehle Befehle für den Datenaustausch zwischen CONZEPT 16-Clients

Befehle

Konstanten

Kommunikation über Message-Exchange

Die MSX-Befehle ermöglichen den Datenaustausch über ein selbst zu definierendes Protokoll. Dabei ist das Medium der Datenübertragung nicht relevant. CONZEPT 16 unterstützt den Datenaustausch über TCP/IP-Sockets und externe Dateien. Die Kommunikation über Sockets erfolgt dabei synchron, da nur dann eine Verbindung aufgebaut werden kann, wenn ein Empfänger Daten auf einen bestimmten Port erwartet (siehe SckListen ()). Die Kommunikation über eine externe Datei erfolgt asynchron. Ein gleichzeitiges Lesen und Schreiben ist nicht möglich. Dafür kann eine Datei geschrieben und erst zu einem späteren Zeitraum gelesen werden.

Mit den MSX-Befehlen kann der Entwickler Datenkanäle öffnen und anschließend Nachrichten in beliebiger Anzahl und Größe darüber senden oder lesen. Nachrichten setzen sich aus einer unbeschränkten Anzahl an Elementen zusammen, die wiederum mehrere Datenfelder enthalten. Diese Datenfelder sind nicht an einen speziellen Datentyp gebunden.

Die einzelnen Nachrichten werden mit IDs versehen, wodurch es möglich ist, unbekannte Nachrichtentypen zu ignorieren. Die Elemente versieht der Entwickler ebenfalls mit IDs. Durch diese Identifizierung können beispielsweise ebenfalls unbekannte oder bereits übertragene Daten übersprungen werden. Die in den Elementen enthaltenen Datenfelder werden seriell geschrieben und ausgelesen. Neue Datenfelder können jederzeit hinzugefügt werden, ohne das der Empfänger diese bereits kennen muss. In diesem Falls werden die neuen Felder durch die Programmierung ignoriert und das nächste Element wird gelesen. Bei einer Erweiterung des Protokolls müssen daher nicht zwingendermaßen alle beteiligten Komponenten aktualisiert werden. Die MSX-Befehle ermöglichen somit nicht nur das Erstellen von abwärts-, sondern auch von aufwärtskompatiblen Protokollen.

info

In der Datenbank "CodeLibrary.ca1" befindet sich ein Beispiel zur Verwendung der MSX-Befehle.