„Informatika 2 - Socket kezelés labor” változatai közötti eltérés

David14 (vitalap | szerkesztései)
David14 (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
17. sor: 17. sor:


== A cím összeállításánál miért szükséges a számokat konvertálni? ==
== A cím összeállításánál miért szükséges a számokat konvertálni? ==
*Több byte-os adattípusokat használunk, de különböző architektúra <math>\rightarrow</math> különböző adatábrázolás (x86=little endian=kisebb helyiértékű byte-al kezd, Sun=big endian)
*DE: ezeknek meg kell érteni egymást <math>\rightarrow</math> közös ábrázolás, hálózati byte-sorrend (big endian)
*Adott architektúrán használt ábrázolás: ''hoszt byte-sorrend''


== Miért szükséges a szerver socketet címhez kötni és miért nem kell a kliens socketet? ==
== Miért szükséges a szerver socketet címhez kötni és miért nem kell a kliens socketet? ==
*Szerver: a kliensnek tudni kell, hogy kitől kérjen kiszolgálást <math>\rightarrow</math> '''connect( )-ben KELL''' a cím
*Kliens: nem feltétlen érdekel a cím <math>\rightarrow</math> '''az accept( )-ben''' a klienscím paramétere '''lehet NULL'''


== Az accept() függvény meghívásakor mi történik, ha éppen nincs bejövő kapcsolat? ==
== Az accept() függvény meghívásakor mi történik, ha éppen nincs bejövő kapcsolat? ==


Blokkol == a kódod megáll az accept()-nél és addig nem megy tovább amíg nem érkezik bejövő kapcsolat, amit el tud fogadni. Persze ezt a blokkolást ki lehet kapcsolni, de defaultból blokkol.
Blokkolja a hívó szálat, amíg nem érkezik kapcsolódási kérés. Persze ezt a blokkolást ki lehet kapcsolni, de defaultból blokkol.


== A kommunikációs kapcsolatot hogyan zárhatja le a kliens, illetve a szerver oldal? ==
== A kommunikációs kapcsolatot hogyan zárhatja le a kliens, illetve a szerver oldal? ==