Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Verbindungsabbau in der Domäne AF_ISO

&pagelevel(4)&pagelevel

In der Domäne AF_ISO steht für den Verbindungsabbau nur die Funktion soc_close() zur Verfügung. Bereits mit dem ersten soc_close()-Aufruf für den Socket eines Verbindungsendpunktes wird die Verbindung vollständig abgebaut. Noch nicht abgeholte Daten auf der Partnerseite gehen dabei verloren. Verbindungsabbau-Daten, die vorher in den Socket eingetragen wurden (siehe getsocopt(), setsocopt(), Abschnitt "getsockopt(), setsockopt() - Socket-Optionen abfragen und ändern") können jedoch mit der Funktion soc_close() übertragen werden.

Verbindungsabbau („abortive“) mit soc_close()

Im Einzelnen werden folgende Schritte ausgeführt:

  1. Der Server S schreibt bei Bedarf mit der Option TPOPT_DISC_DATA der Funktion setsockopt() Verbindungsabbaudaten in den Socket.

  2. Wenn der Server die Funktion soc_close() aufruft, wird der Verbindungsabbau „abortive“ eingeleitet. Auf den Socket von S ist jetzt weder schreibender noch lesender Zugriff möglich. Dem Partner-Socket in Client C wird der „abortive disconnect“ signalisiert. Sofern vorhanden, werden die Verbindungsabbau-Daten übertragen. Der Socket im Server S wird geschlossen.

  3. Nach dem Empfang des Signals „abortive disconnect“ kann das Anwenderprogramm im Client C die Verbindungsabbaudaten lesen, falls diese vom Server übertragen wurden. Weitere Daten kann das Anwenderprogramm nicht mehr lesen. Eventuell vorhandene, aber noch nicht aus dem Transportsystem abgeholte Daten gehen verloren.

  4. Der Client C kann deshalb nur mit soc_close() auf das Signal von S reagieren und damit den Socket in C schließen.