238/249
Bosch Rexroth AG
Rexroth IndraDrive-Firmware-Bibliotheken
"SysSockIoctl"
"SysSockSelect"
●
SOCKET_IPPROTO_IP
●
SOCKET_IPPROTO_TCP
●
SOCKET_IPPROTO_UDP
●
SOCKET_SO_ERROR (nur "SysSockGetOption")
Optionen für "diLevel=SOCKET_SOL"
●
"SOCKET_SO_REUSEADDR" (ermöglicht mehrere Adressen an den
gleichen Port zu binden)
–
Optval (int16): Disabled="0", Enabled<>"0".
●
"SOCKET_SO_BROADCAST" (erlaubt die Übertragung von Broadcast-
Meldungen)
–
Optval (int16): Disabled="0", Enabled<>"0".
●
"SOCKET_SO_LINGER" (Verweilzeit beim Schließen des Sockets)
–
Optval (Struktur SOCKET_LINGER)
●
"SOCKET_SO_ERROR" (nur "SysSockGetoption")
Es gilt das bei "SysSockGetLastErrorSync" beschriebene Verhalten
Optionen für "diLevel=SOCKET_IPPROTO_TCP"
●
SOCKET_TCP_NODELAY (diese Option steuert den Nagle-Algorithmus
des Sockets)
–
Optval (UINT8): Disabled="0", Enabled<>"0".
●
SOCKET_SO_KEEPALIVE (diese Option steuert das Keep-Alive für die
TCP-Verbindungen des Sockets)
–
Optval (UINT8): Disabled="0", Enabled<>"0".
Optionen für "diLevel=SOCKET_IPPROTO_IP"
●
Es werden keine Optionen unterstützt.
Optionen für "diLevel=SOCKET_IPPROTO_UDP"
●
Es werden keine Optionen unterstützt.
●
"diCommand=SOCKET_FIONBIO" [setzt Blockingmode auf den Wert
des übergebenen Arguments (piParameter)].
–
Blockingmode: "piParameter=SOCKET_SO_BLOCKING"
–
Non Blockingmode: "piParameter=SOCKET_SO_NOBLOCKING"
●
"diCommand=SOCKET_FIONREAD" [liest die Anzahl der empfangenen
Bytes die im Socket bereitstehen. Die Anzahl der empfangenen Bytes
steht im Argument ("piParameter")]
Korrektur
der
"SysSockIoctl" ist in der Beschreibung der Funktion als BOOL
beschrieben; tatsächlich ist der Rückgabewert vom Typ DINT und
liefert "0" oder "1".
●
Wird bei "ptvTimeout" für den Zeiger "0" übergeben, blockiert
"SysSockSelect" so lange, bis die Anfrage erfüllt ist. Wird gewünscht,
dass die Funktion sofort zurückkommt, muss "ptvTimeout.tv_sec" und
"tv_usec"="0" geschrieben werden.
●
"SysSockSelect" gibt die Anzahl der bereiten Sockets zurück. Ist der
Rückgabewert "-1", ist ein Fehler aufgetreten. Ist die Anzahl größer "0",
müssen die jeweiligen übergebenen Arrays (z.B. "fdRead") von "0" bis
"fd_count" überprüft werden. Nicht bereite Sockets sind im Array auf "0"
gesetzt. In "fdRead" gesetzte Sockets haben Daten empfangen. Diese
können mit "SysSockRecv" nicht blockierend gelesen werden.
DOK-INDRV*-MLD-SYSLIB*-FK07-DE-P
Rexroth IndraDrive Rexroth IndraMotion MLD Bibliothek
Dokumentation:
Der
Rückgabewert
von