SckInfo
obj -> SckInfo(int1[, int2]) : alpha
Socket-Informationen abfragen/setzen
Details
- obj: Socket-Deskriptor
- int1: Informationstyp (siehe Text)
- int2: optionaler Wert (optional)
- Resultat:
alphaInformationen - Siehe: Verwandte Befehle
Mit diesem Befehl können Informationen über die Socket-Verbindung abgefragt oder gesetzt werden. In (obj) wird der Socket-Deskriptor übergeben.
In der Beispiel-Datenbank "CodeLibrary" befindet sich ein Beispiel zur Kommunikation mit einem FTP-Server.
Folgende Informationen können ermittelt werden:
- Option (int1): zurückgegebene Information
_SckAddrLocal: lokale IP-Adresse_SckAddrPeer: IP-Adresse des Zielhosts_SckCertificateCN: "Common Name" des serverseitigen Zertifikats_SckHostName: lokaler Hostname_SckPortLocal: lokaler IP-Port_SckPortPeer: IP-Port des Zielhosts_SckVersionTLS: verwendete TLS-Version bei verschlüsselter Verbindung_SckVol: übertragene Datenvolumen in Bytes_SckVolRead: empfangene Datenvolumen in Bytes_SckVolWrite: gesendete Datenvolumen in Bytes_SckReadyRead: Ermitteln ob Daten zum Lesen vorhanden_SckTimeout: Ermitteln / Setzen des Timeout_SckKeepAlive: Ermitteln / Setzen der Keep-Alive-Zeit_SckDefaultKeepAlive: Setzen der Keep-Alive-Zeit auf den eingestellten Vorgabewert (siehe SOA-Service - Konfigurationsdatei )
Wird mit _SckVersionTLS die TLS-Version einer verschlüsselten Verbindung ermittelt, wird Version gefolgt von einem Leerzeichen und der verwendeten Cipher-Suite zurückgegeben. Folgende Versionen können zurückgegeben werden.
'': keine verschlüsselte Verbindung'SSLv3': Verschlüsselt mit SSL 3.0'TLSv1': Verschlüsselt mit TLS 1.0'TLSv1.1': Verschlüsselt mit TLS 1.1'TLSv1.2': Verschlüsselt mit TLS 1.2
Wird bei einer verschlüsselten Verbindung das Server-Zertifikat überprüft (siehe _SckOptVerify) muss anschließend geprüft werden, ob das Zertifikat auch für den verbundenen Server ausgestellt wurde. Mit tSck-> SckInfo ( _SckCertificateCN ) wird der "Common Name" aus dem Zertifikat ermittelt und kann mit dem Hostnamen verglichen werden. Da der "Common Name" Wildcards beinhalten kann, muss ein Ähnlichkeitsvergleich durchgeführt werden (siehe _SckCertificateCN).
Wird in (int1) _SckReadyRead angegeben, muss in (int2) eine Wartezeit in Millisekunden angegeben werden. Sind bis zu diesem Zeitpunkt keine Daten vorhanden, wird _ErrTimeout zurückgegeben. Sind Daten vorhanden wird '0' zurückgegeben.
Sofern der Deskriptor (obj) nicht definiert ist oder keinen Socket bezeichnet, erfolgt der Laufzeitfehler (_ErrHdlInvalid).