next up previous contents
Next: Kapcsolat rendezett lebontása Up: A Transport Layer Previous: Adatátvitel összeköttetés-mentes kapcsolatokban

Adatátviteli hibák összeköttetés-mentes kapcsolatoknál

A nem összeköttetés-alapú protokolloknál az adatküldo muveletek egybol elvégzettnek tekintik a dolgukat, miután az elküldendo datagramot átadták a helyi transzport-rétegnek. A késobb felmerülo problémákat (például hogy a datagram címzettje ismeretlen) valahogyan tudatni kell a felhasználói programmal. Erre való a t_rcvuderr() TLI függvény.

A fenti hibajelzo mechanizmus úgy muködik, hogy a datagramot elküldo t_sndudata() TLI függvény után ha végrehajtjuk a t_rcvudata() függvényt (mert mondjuk a kommunikációs partnerünk válaszára várunk), akkor az visszaadhat hibát jelzo visszatérési értéket, és a hiba kódját a t_errno egész típusú TLI globális változóban TLOOK-ra állítja. Ilyenkor a t_rdvuderr() függvénnyel a hiba pontosabb meghatározását kérhetjük a rendszertol.

Hívásának alakja:

     ret=t_rcvuderr(tfd, uderr);

Ahol tfd a TSAP-ot azonosító fájldeszkriptor, uderr pedig egy t_uderr struktúrára mutató pointer. A struktúra szerkezete a következo:

     struct t_uderr {
          struct netbuf addr;
          struct netbuf opt;
          long error;
     };

Az addr komponens a hibás datagram címzettjét azonosítja, az opt pedig a datagram elküldésekor használt protokoll-opciókat tartalmazza, és error pedig egy (protokollfüggo) hibakódot tartalmaz.



Csizmazia Balazs
Tue Apr 2 00:06:27 MET DST 1996