Skip to content

Um breve guia de programação de soquetes para redes de computadores TCP / IP

24 de maio de 2021

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.

Micrium.com

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().