[Avanti]  [Indietro]  [Su]  

14.1.1 I socket

I socket1 sono uno dei principali meccanismi di comunicazione utilizzato in ambito Unix, e li abbiamo brevemente incontrati in sez. 12.1.5, fra i vari meccanismi di intercominazione fra processi. Un socket costituisce in sostanza un canale di comunicazione fra due processi su cui si possono leggere e scrivere dati analogo a quello di una pipe (vedi sez. 12.1.1) ma, a differenza di questa e degli altri meccanismi esaminati nel capitolo cap. 12, i socket non sono limitati alla comunicazione fra processi che girano sulla stessa macchina, ma possono realizzare la comunicazione anche attraverso la rete.

Quella dei socket costituisce infatti la principale interfaccia usata nella programmazione di rete. La loro origine risale al 1983, quando furono introdotti in BSD 4.2; l'interfaccia è rimasta sostanzialmente la stessa, con piccole modifiche, negli anni successivi. Benché siano state sviluppate interfacce alternative, originate dai sistemi SVr4 come la XTI (X/Open Transport Interface) nessuna ha mai raggiunto la diffusione e la popolarità di quella dei socket (né tantomeno la stessa usabilità e flessibilità).

La flessibilità e la genericità dell'interfaccia inoltre consente di utilizzare i socket con i più disparati meccanismi di comunicazione, e non solo con l'insieme dei protocolli TCP/IP, anche se questa sarà comunque quella di cui tratteremo in maniera più estesa.


[Avanti]  [Indietro]  [Su]  
© 2000-2003 Simone Piccardi
Pubblicazione web curata da Mirko Maischberger