21 gennaio, 2007

Unix sockets (AF_UNIX) o Internet sockets (AF_INET)?

Su un sistema unix, oltre ai socket internet esistono i socket unix. Ma quali sono le differenze tra queste due famiglie di sockets?

Internet Sockets
I socket internet servono per la comunicazione tra processi che si trovano sulla stessa macchina e/o, molto più spesso, su macchine differenti, magari anche distanti migliaia di Km. Tutti i servizi internet funzionano utilizzando questo tipo di sockets.

Unix Sockets
I socket della famiglia Unix (AF_UNIX), sono sockets simili agli internet socket. Essi usano un file speciale per realizzare la comunicazione tra processi. La differenza sostanziale è che non è possibile accedere a questo tipo di sockets da computer che non siano quello che ha creato il socket. In pratica quindi, questo genere di socket vengono utilizzati per realizzare l'IPC (inter-process communication) per processi che girano sulla stessa macchina.

Entrambe le famiglie poi supportano i socket stream (connessioni tcp) e i datagram sockets (connessioni udp)

Nessun commento:

Posta un commento