Um arquivo de soquete Unix / Linux é basicamente um FIFO bidirecional.
Desde sockets foram originalmente criados
como uma maneira de gerenciar as comunicações de rede,
é possível manipulá-los
usando as chamadas de sistema send() e recv() .
No entanto, no espírito Unix de "tudo é um arquivo",
você também pode usar write() e read() .
Você precisa usar socketpair() ou socket() para criar soquetes nomeados.
Um tutorial para usar sockets em C pode ser encontrado aqui:
Guia do Beej para o Unix IPC: Sockets Unix .
O utilitário de linha de comando socat é útil quando você deseja brincar com sockets sem escrever um programa "real". É semelhante a netcat e atua como um adaptador entre diferentes interfaces de rede e de arquivo.
Links: