
A programação de soquetes é a tecnologia fundamental por trás das comunicações em redes TCP / IP. Um soquete é um ponto final de um link bidirecional entre dois programas em execução em uma rede. O soquete fornece um ponto de extremidade de comunicação bidirecional para enviar e receber dados com outro soquete. As conexões de soquete normalmente são executadas entre dois computadores diferentes em uma rede local (LAN) ou pela Internet, mas também podem ser usadas para comunicação entre processos em um único computador.
Sockets e endereços
Cada terminal de soquete em redes TCP / IP possui um endereço exclusivo que é a combinação de um endereço IP e um número de porta TCP / IP. Como o soquete está vinculado a um número de porta específico, a camada TCP pode identificar o aplicativo que deve receber os dados enviados a ele. Ao criar um novo soquete, a biblioteca de soquetes gera automaticamente um número de porta exclusivo nesse dispositivo. O programador também pode especificar números de porta em situações específicas.
Como funcionam os soquetes de servidor
Normalmente, um servidor é executado em um computador e acessa um soquete que está vinculado a uma porta específica. O servidor espera que um computador diferente faça uma solicitação de conexão. O computador cliente conhece o nome do host do computador servidor e o número da porta na qual o servidor está escutando. O computador cliente se identifica e – se tudo der certo – o servidor permite que o computador cliente se conecte.
Bibliotecas de soquetes
Em vez de codificar diretamente para APIs de soquete de baixo nível, os programadores de rede geralmente usam bibliotecas de soquete. Duas bibliotecas de soquete comumente usadas são Berkeley Sockets para sistemas Linux / Unix e WinSock para sistemas Windows. Uma biblioteca de soquetes fornece um conjunto de funções de API semelhantes às que os programadores usam para trabalhar com arquivos, como abrir(), leitura(), Escreva(), e perto().