általában egy szerver egy adott számítógépen fut, és van egy foglalata, amely egy adott portszámhoz van kötve. A szerver csak vár, hallgatva az aljzatot egy ügyfél számára, hogy csatlakozási kérelmet nyújtson be.
kliens oldalon: az ügyfél ismeri annak a gépnek a gépnek a gazdanevét, amelyen a kiszolgáló fut, valamint azt a portszámot, amelyen a kiszolgáló hallgat. Kapcsolatkérés esetén az ügyfél megpróbál találkozni a szerverrel a szerver gépén és portján., Az ügyfélnek azonosítania kell magát a kiszolgálóhoz is, így kötődik egy helyi portszámhoz, amelyet a kapcsolat során használ. Ezt általában a rendszer rendeli.
ha minden jól megy, a szerver elfogadja a kapcsolatot. Elfogadáskor a szerver kap egy új foglalatot, amely ugyanahhoz a helyi porthoz van kötve, valamint a távoli végpontját az ügyfél címére és portjára állítja., Szüksége van egy új aljzatra, hogy továbbra is meghallgassa az eredeti aljzatot a csatlakozási kérésekhez, miközben a csatlakoztatott ügyfél igényeihez igazodik.
a kliens oldalon, ha a kapcsolat elfogadásra kerül, az ügyfél sikeresen létrehoz egy aljzatot, és az ügyfél a socket segítségével kommunikálhat a szerverrel.
az ügyfél és a kiszolgáló most már kommunikálhat úgy, hogy a foglalataikról ír vagy olvas.,
a foglalat a hálózaton futó két program közötti kétirányú kommunikációs kapcsolat egyik végpontja. A socket egy portszámhoz van kötve, így a TCP réteg azonosíthatja azt az alkalmazást, amelyre az adatokat elküldik.
a végpont egy IP-cím és egy portszám kombinációja. Minden TCP kapcsolat egyedileg azonosítható két végpontjával. Így több kapcsolat is lehet a gazdaszervezet és a kiszolgáló között.,
ajava.net
csomag a Java platformon egy osztályt biztosít,Socket
, amely a Java program és egy másik program közötti kétirányú kapcsolat egyik oldalát valósítja meg a hálózaton. ASocket
osztály egy platformfüggő megvalósítás tetején helyezkedik el, elrejtve az adott rendszer részleteit a Java programból. Ajava.net.Socket
osztály használatával a natív kód helyett a Java programok platformfüggetlen módon kommunikálhatnak a hálózaton keresztül.,
ezenkívül ajava.net
tartalmazza aServerSocket
osztályt, amely egy olyan foglalatot valósít meg, amelyet a szerverek felhasználhatnak az ügyfelek kapcsolatainak meghallgatására és elfogadására. Ez a lecke megmutatja, hogyan kell használni a Socket
és ServerSocket
osztályokat.
Ha csatlakozni próbál az internethez ,aURL
osztály és kapcsolódó osztályok (URLConnection
,URLEncoder
) valószínűleg megfelelőbbek, mint a socket osztályok., Valójában az URL-ek viszonylag magas szintű kapcsolatot jelentenek a weben, a Sockets pedig a mögöttes megvalósítás részeként használható. Lásd az URL-ekkel való munka az URL-eken keresztül az internethez való csatlakozással kapcsolatos információkat.