next up previous contents
Next: Adatátvitel összeköttetés-alapú kapcsolatokban Up: A Transport Layer Previous: Kapcsolatra várakozás

Kapcsolatkérelem elfogadása

Ha a program a TLI t_listen() függvényébol hiba nélkül visszatért, az azt jelenti, hogy van egy kliens, aki a szerverrel fel akarja venni a kapcsolatot. A szerver (mondjuk a kliens címe alapján és az esetleges felhasználói adatok alapján) eldöntheti, hogy fel akarja-e venni a klienssel a kapcsolatot. Ha igen, akkor végre kell hajtania a t_accept() TLI rutint, melynek alakja a következo:

     ret=t_accept(tfd,newtfd,call);

Ahol tfd azonosítja azt a transzport-fájldeszkriptort, amelyen a rákapcsolódási kérelem bejött (amit a t_listen()-ben is megadtunk). A newtfd paraméter azonosítja azt a transzport-fájldeszkriptort, amelyen az új klienssel fel akarjuk venni a kapcsolatot. (Ezt a newtfd deszkriptort párhuzamos szerverek esetén nekünk kell egy t_open() TLI hívással létrehozni, ez nem megy automatikusan, mind a Berkeley socket rendszernél. Iteratív szervereknél a newtfd paraméternek meg lehet adni tfd értékét is, ezzel megspórolva egy új transzort-végpont (TSAP) létrehozását.)

Visszatéréskor a call paraméter (ami egy t_call struktúrára mutat) a t_listen()-nél leírtakhoz hasonlóan a kommunikációs partnerrel kapcsolatos információkat tartalmazza.



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