ConnectToServer-Methode

Überblick

Typ

Methode

Verfügbar ab

V1.0.0.0

G-SE-0076329.1.gif-high.gif

 

 

Aufgabe

Die Methode ConnectToServer initialisiert eine TCP-Verbindung zum Server.

Funktionsbeschreibung

Diese Methode löst den Aufbau einer TCP-Verbindung zum Server aus, die über die zugehörige IPv4-Adresse und den entsprechenden Port vorgegeben wird. Die Standardports für HTTP sind 80 und 443 (gesichert, HTTPS). Stellen Sie den Parameter i_xUseTls auf TRUE ein, um anzugeben, dass eine gesicherte Verbindung hergestellt wurde.

Der Rückgabewert der Methode gibt nur an, ob die Verbindung erfolgreich initialisiert werden konnte. Der Status der Verbindung muss über die Eigenschaft State geprüft werden. Werten Sie die Diagnoseausgänge der Methode aus, wenn der Rückgabewert FALSE sein sollte. Ein von diesen Ausgängen signalisierter Fehler braucht nicht zurückgesetzt zu werden.

Hinweise zur Verwendung mit einem HTTP-Proxy

Wenn zwischen Ihrer Steuerung und dem dezentralen HTTP-Server ein HTTP-Proxy zwischenge­schaltet ist, müssen Sie die Verbindungsparameter des Proxys in der Methode ConnectToServer angeben. Wenn der Client mit einem Proxy verbunden ist, wird der HTTP-Datenverkehr zwischen dem Client und dem dezentralen Server über den Proxy-Server weiterge­leitet. Die Adresse und der Port werden vom Proxy-Server aus dem Header der gesendeten HTTP-Anfrage abgerufen. Sie entsprechen dem Parameter i_sHost der zugeordneten Methode zum Senden einer HTTP-Anfrage.

Hinweise zu gesicherten Verbindungen mit TLS

TLS dient der Verschlüsselung der Kommunikation zwischen Client und Server. Zusätzlich zur Verschlüsselung bietet TLS die Möglichkeit, die Identität des Kommunikationspartners anhand von Zertifikaten zu prüfen.

Zertifikate werden beim Aufbau einer Verbindung ausgetauscht, beim TLS-Handshake. Das Senden von Zertifikaten während des TLS-Handshakes ist optional, wenn aber der Kommunikati­onspartner ein Zertifikat benötigt, dann muss ein Zertifikat gesendet werden. Nur bei einem positiven Ergebnis der Zertifikatprüfung kann eine Verbindung zum Kommunikationspartner hergestellt ewrden. Wenn die Ausführung der Methode ConnectToServer mit xUseTls = TRUE im Zustand Error mit ErrorResult = ConnectFailed endet, kann das darauf zurückzuführen sein, dass ein Problem mit dem Zertifikat vorliegt.

In diesem Fall müssen Sie die TLS-Konfiguration für den Server und Client überprüfen.

Wenn...

Dann...

der Server zur Prüfung des Client-Zertifikats konfiguriert wurde,

müssen Sie sicherstellen, dass der Parameter i_stTlsSettings.xSendClientCertificate auf TRUE eingestellt ist.

der Client zur Prüfung des Server-Zertifikats konfiguriert wurde, unterscheidet sich i_stTlsSettings.etCertVerifyMode von NotVerified,

müssen Sie sicherstellen, dass der Server sein Zertifikat sendet.

der Client zur Annahme ausschließlich vertrauenswürdiger Zertifikate konfiguriert wurde, i_stTlsSettings.etCertVerifyMode = TrustedOnly,

müssen Sie sicherstellen, dass das Server-Zertifikat als vertrauenswürdig eingestuft wird.

Dazu müssen die Zertifikate auf Ihrer Steuerung manuell verwaltet werden. Das kann mithilfe des Editors Security-Screen in Machine Expert Logic Builder erfolgen.

Weitere Informationen zur Zertifikatverwaltung auf der Steuerung finden Sie im Kapitel zur Zertifikatverwaltung auf der Steuerung im EcoStruxure Machine Expert - Benutzerhandbuch.

Übergang des Clientzustands

Schritt

Beschreibung

1

Ausgangszustand: Idle

2

Funktionsaufruf

3

Zustand: Connecting, andernfalls wird ein Fehler erkannt.

4

Endzustand: Connected, andernfalls wird ein Fehler erkannt.

Schnittstelle

Eingabe

Datentyp

Beschreibung

i_sServerIP

STRING[15]

Gibt die IP-Adresse des Servers an, zu dem eine Verbindung hergestellt werden soll.

i_uiServerPort

UINT

Gibt die Portadresse des Servers an.

i_xUseTls

BOOL

Auf TRUE gesetzt, um auf die Verwendung einer gesicherten Verbindung mit TLS zu verweisen.

i_stTlsSettings

TlsSettings

Gibt die TLS-Eisntellungen für die gesicherte Verbindung an.

Ausgang

Datentyp

Beschreibung

q_xError

BOOL

Wenn dieser Ausgang auf TRUE gesetzt wird, wurde ein Fehler identifiziert. Für weitere Informationen, siehe q_etResult und q_etResultMsg,

q_etResult

ET_Result

Stellt Diagnose- und Statusinformationen in Form numerischer Werte bereit.

q_sResultMsg

STRING[80]

Stellt zusätzliche Diagnose- und Statusinformationen in Form von Textmeldungen bereit.