TCPServer
Zurück Nach oben Vorwärts

Kurzbeschreibung Parameter Funktionsweise Ein/Ausgänge Limitierungen Querverweise Beispiele

Kurzbeschreibung
Das Modul TCPServer stellt einen Server über TCP/IP zur Verfügung. Beliebige Clients können dazu eine Verbindung aufbauen.
Parameter
Parameter: Parameterquelle intern, extern oder Datenbank.
Servereinstellungen
Port: Kanal über den die Verbindung stattfindet (1 bis 65535).
Max. Anzahl gleichzeitiger Verbindungen: 1 bis 1024 Client Verbindungen können gleichzeitig aktiv sein.
Timeout: Erhält das TCPServer Modul über diesen Zeitraum (1 bis 32767 Sekunden) keine Antwort des TCPClients, bricht es die Verbindung ab. 0 bedeutet kein Timeout
Funktionsweise
Bei Start wird der Server auf den eingestellten Port gebunden und wartet auf Verbindungsanfragen. Für jede Anfrage wird ein (interner) Client erzeugt und damit die Verbindung aufgebaut. Zur Identifizierung erhält jeder Client eine eindeutige ID zugewiesen.
Werden über EXT/DB neue Parameter geschickt, werden alle Sendepuffer noch geleert und anschließend alle Verbindungen geschlossen. Der alte Port wird freigegeben und der neue Port wird gebunden. Dann wartet der Server wieder auf Verbindungsanfragen.
Werden mehr Anfragen gestellt, als im Dialog erlaubt, so werden diese verweigert.
Nach dem Aufbau einer Verbindung wird am Connect-Ausgang die ID ausgegeben, nach dem Trennen am Disconnect-Ausgang. Es können auch mehrere ID's auf einmal sein. Am RemoteInfo-Ausgang wird die IP-Adresse und der Port des Clients ausgegeben. Der String hat folgendes Format: (IP-Adresse):Port, z.B. (192.168.2.51):1243
Soll eine Verbindung vom Server getrennt werden, so muß am Disconnect-Eingang die entsprechende ID geschickt werden. Es werden dann erst alle Daten aus dem Sendepuffer geschickt und anschließend die Verbindung getrennt.
Falls ein Fehler bei einer Verbindung auftritt, wird der Fehlertext am Error-Ausgang ausgegeben (inkl. ID). Die Verbindung wird dann geschlossen, andere Verbindungen sind nicht betroffen. Tritt ein Fehler am Server auf, wird der Signalgraph gestoppt und eine Fehlermeldung ausgegeben.
Empfangene Daten werden am Data-Ausgang ausgegeben, am ID-Ausgang die entsprechende ID. Analog werden die vom Data- und ID-Eingang gelesenen Daten an den Client geschickt. Ist nur der Data-Eingang verdrahtet (ohne ID-Eingang), werden eingelesene Daten an alle momentan verbundenen Clients geschickt.
Der Datenstring ist binär, d.h. er kann auch "0" enthalten.
Ein-/Ausgänge
Eingänge  
EXT, DB SWORD{server_port}, SWORD{max_connections}, SWORD{timeout} Parametrierung des Moduls über externe Quellen wie ParamConv-Modul oder Datenbank-Modul
Disconnect TYPEINFO{TypeInfo}
SWORD[]{BIN}
Verbindung beenden
ID TYPEINFO{TypeInfo}
SWORD[1]{BIN}
Identifikation
Data TYPEINFO{TypeInfo}
UBYTE[]{Text}
Datenstring
Ausgänge
Connect TYPEINFO{TypeInfo}
SWORD[]{BIN}
Verbindungsaufbau
Disconnect TYPEINFO{TypeInfo}
SWORD[]{BIN}
Verbindungsabbau
ID TYPEINFO{TypeInfo}
SWORD[1]{BIN}
Identifikation
Data TYPEINFO{TypeInfo}
UBYTE[]{Text}
Datenstring
Error TYPEINFO{TypeInfo}
UBYTE[]{Text}
Fehlerausgang
RemoteInfo TYPEINFO{TypeInfo}
UBYTE[]{Text}
IP-Adresse und Port vom Client
Limitierungen
-
Querverweise
TCPClient, UDP, Shell, ShellNT, HTTPServer, NetCom
Beispiele
-