Un socket di dominio Unix o un socket IPC (socket di comunicazione tra processi) è un endpoint di comunicazione dati simile a un socket Internet, ma non utilizza un protocollo di rete per la comunicazione. Viene utilizzato nei sistemi operativi POSIX per la comunicazione tra processi. Il termine POSIX standard corretto è POSIX Local IPC Sockets.
Le connessioni di dominio Unix vengono visualizzate come flussi di byte, proprio come le connessioni di rete, ma tutti i dati rimangono all'interno del computer locale. I socket di dominio UNIX usano il file system come spazio dei nomi di indirizzo, cioè sono referenziati da processi come inode nel file system. Ciò consente a due processi distinti di aprire lo stesso socket per comunicare. Tuttavia, la comunicazione effettiva (lo scambio di dati) non utilizza il file system, ma i buffer nella memoria del kernel.
Oltre all'invio di dati, i processi possono inviare descrittori di file attraverso una connessione socket di dominio Unix utilizzando le chiamate di sistema sendmsg() e recvmsg().
grazie per la risposta, così unix dominio socket è per la comunicazione interprocesso tra due processi sullo stesso sistema, proprio come qualsiasi altro meccanismo ipc come sharedmemory.So utilizzando unix dominio non possiamo fare comunicazione tra due macchine. – mawia
@mawia: è corretto. Ad esempio, è possibile parlare al server X window locale su un socket di dominio Unix impostando la variabile d'ambiente DISPLAY su ": 0.0" o su un socket TCP/IP impostandolo su "localhost: 0.0". –
Cercare AF_INET per i socket IP per comunicare tra diversi host. – user39113