next up previous contents
Next: Hálózatokkal kapcsolatos könyvtári Up: A Berkeley socketok Previous: Több socket párhuzamos

A kommunikációs partner címének megszerzése

A folyamatok a szülojüktol gyakran örökölnek megnyitott socketokat. Ha egy folyamatnak szüksége van annak meghatározására, hogy ki van a socket-kapcsolat másik végén (öszeköttetés-alapú kapcsolatok esetén), akkor azt megteheti a getpeername rendszerhívással (ez egyes rendszerekben nem rendszerhívás, hanem könyvtári függvény, amit valamilyen más rendszerhívással valósítanak meg, de ez most számunkra nem érdekes). Ennek alakja a következo:

     getpeername(sd, name, namelength);

A name paraméter egy socket-cím struktúra, itt kapom vissza a partner címét. A struktúra harmadik eleme egy pointer egy egész típusú értékre, amely a cím hosszát tartalmazza (visszatéréskor, és ez természetesen a visszaadott cím hosszára vonatkozik).

A sockethoz (explicit módon vagy defaultként) rendelt helyi címet a getsockname rendszerhívással lehet lekérdezni. Paraméterezése ugyanaz, mint a getpeername függvényé.



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