UTILIZE A PESQUISA!

Conhecendo os Sockets

Os sockets (soquetes em português) são a maneira de se comunicar com outros programas usando os descritores de arquivo padrão do Unix. No ambiente Unix, ao se comunicar com um dispositivo ou um arquivo, você recebe uma resposta se tudo deu certo ou não. Esta resposta é o que se chama de descritor de arquivo.

O Unix foi o primeiro Sistema Operacional a usar em grande escala este tipo de tecnologia. E no Unix, para tudo se usa um descritor de arquivo (file descriptor, o famoso fd que precede muitas funções da linguagem C). No Unix, a utilização de redes já tem uma longa estrada atrás. Isto facilita muito as coisas para os programadores, pois não é necessário estar em um ambiente gráfico para se programar os soquetes. Você instala numa máquina um Linux Red Hat (ou a versão brasileira da Conectiva), e começa a programar com relativa facilidade. Estou falando dos que programam em C, que é praticamente a linguagem nativa do Unix.

Voltando aos sockets, eles existem em diversos tipos. No entanto, na internet, eles são de dois tipos: Stream Sockets e Datagram Sockets (Soquetes de Fluxo e os Soquetes de Datagramas). São referenciados como SOCK_STREAM e SOCK_DGRAM respectivamente. Qual a diferença entre estes?
Os Soquetes de Fluxo (SOCK_STREAM) enviam os dados e os controlam para que cheguem exatamente como foram enviados. Por exemplo, se enviar os dados A, B, C e D, eles chegarão ao seu destino exatamente como foram enviados e nesta mesma ordem: A, B, C e D. O Protocolo de Transporte de Controle (Transport Control Protocol, em inglês) utiliza estes soquetes.
Se estes mesmos 4 pacotes de dados forem enviados pelos Datagram Sockets, talvez apenas 3 cheguem ao seu destino. Quanto à ordem de sua chegada, pode ser A, D e C ou outra ordem qualquer. Eles são enviados, mas sem controle. O User datagram Protocol (Protocolo de Datagrama de Usuário) utiliza estes sockets.

Nenhum comentário:

Postar um comentário