Socket
Socket bat sare-zerbitzuak erabiltzeko komunikazio-puntu bat da. Bi prozesuen arteko datuen komunikazio-kanalaren abstrakzio bat dela esan daiteke.
Era orokorragoan, Socketak sarea erabiltzen duten aplikazio informatikoek TCP/IP sare-zerbitzuak eskuratzeko duten interfaze bat (edo API) dira. Interfaze hori Unix BSD sistema eragilerako sortu zuten, eta gaur egun erabilpen orokorreko beste sistema eragile guztietarako ere inplementatu egin da.
Azalpen zehatza
Interneteko socket bat horrela dago osatua (TCP/UDP erabiltzen bada):
- Protokoloa (TCP, UDP)
- IP helbide lokala
- Portu lokala
- Urrutiko IP helbidea
- Urrutiko portua
Sistema eragileek socketak prozesuekin eta garraio-mailarekin konbinatzen dituzte, horrela, prozesuak urrutiko helbide bateko beste prozesuekin komunikatu ahal izango dira.
Orokorrean socketak TCP/IP arkitekturarako daude implementatuak, baina beste sare-arkitekturetarako ere implementatu daitezke, IBM-ren SNA-rako adibidez.
Interneteko bi socket-mota:
- SOCK-STREAM (TCP protokoloa erabiliko du): konexiora zuzendutako socketa izango da eta normalean komunikazioa fidagarria eta ordenatua izango da
- SOCK-DGRAM (UDP protokoloa erabiliko du): konexiora ez zuzendutako socketa izando da,komunikazioa datagramari orientatuta izango da eta ez da fidagarria izango,ezta ordenatua ere.
Gehien ezagutzen den beste interfaze bat TLI da, baina, socketarekin konparatuta, bere erabilpena oso txikia da.
Socketen funtzio garrantzitsuenak
socket(): komunikazio-puntu bat sortuko du
bind(): Socketa eta helbidea lortuko ditu
getsockname(): Socket baten helbidea lortuko du
listen(): socketa konexio-ezarpen pasiborako prestatu
accept(): konexio-ezarpen pasiboa
conecct(): konexio-ezarpen aktiboa
close(): socketa deuseztatu
send(): datuak bidali sciket baten bidez
receive(): datuak jaso socket baten bidez
Socket liburutegiak
TCP eta UDP protokoloak erabiltzen dituzten komunikazioen liburutegiak:
- SDL NET (http://www.libsdl.org/projects/SDL_net)
- C++ Sockets Library (http://www.alhem.net/Sockets/index_spanish.html)
- GNU Common C++ (https://web.archive.org/web/20070416075333/http://www.gnu.org/software/commoncpp/docs/refman/html/_sample_socket_port_8cpp-example.html)
- DirectX - DirectPlay (http://www.microsoft.com)
Ikus, gainera
Erreferentziak
- Andrew S. Tanenbaum, Konputagailu-sareak (3. argitaldia 2002), EHU arg.
- J.M.Rivadeneyra, TCP/IP Sareak (2.argitaldia 2004)