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