Sockets foram a forma de permitir que dois processos se comuniquem
Considerando a Internet e o TCP/IP, os sockets estão entre a camada de transporte e a de aplicações. Estando nesse ponto de intercessão, eles conseguem fazer uma interface entre a aplicação e rede de maneira bem transparente. Assim, aplicações são implementadas através de uma comunicação lógica. Lógica no sentido de que para esses programas, eles estão se comunicando diretamente um com o outro, mas na prática, eles estão passando pela rede para trocar mensagens.
/** * Principais funções para escrever programas com sockets */
getaddrinfo() // Traduz nomes para endereços sockets
socket() // Cria um socket e retorna o descritor de arquivo
bind() // Associa o socket a um endereço socket e uma porta
connect() // Tenta estabelecer uma conexão com um socket
listen() // Coloca o socket para aguardar conexões
accept() // Aceita uma nova conexão e cria um socket
send() // caso conectado, transmite mensagens ao socket recv() // recebe as mensagens através do socket
close() // desaloca o descritor de arquivo
shutdown() // desabilita a comunicação do socket
https://blog.pantuza.com/artigos/o-que-sao-e-como-funcionam-os-sockets
Redes de computadores Quarta edição Andrew S. Tanenbaum pagina 42