Skip to main content

Programação de soquete para redes de computadores

Harpa Cristã 139 - Jesus meu Eterno Redentor (Pode 2025)

Harpa Cristã 139 - Jesus meu Eterno Redentor (Pode 2025)
Anonim

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.

Soquetes e Endereços

Pontos de extremidade de soquete em redes TCP / IP têm, cada um, 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 do servidor

Normalmente, um servidor é executado em um computador e possui um soquete vinculado a uma porta específica. O servidor espera por um computador diferente para fazer uma solicitação de conexão. O computador cliente conhece o nome do host do computador servidor e o número da porta em que 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 soquete

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 soquetes comumente usadas são os sistemas Berkeley Sockets para sistemas Linux / Unix e WinSock para sistemas Windows.

Uma biblioteca de sockets fornece um conjunto de funções de API similares àquelas utilizadas pelos programadores para trabalhar com arquivos, como open (), read (), write () e close ().