O que é o soquete C?
"Socket C" é um termo que às vezes é usado para se referir ao processo de gravação do código do soquete na linguagem de programação C e às vezes é usado para se referir ao arquivo de biblioteca real que mantém a implementação para algumas funções de soquete. O arquivo de biblioteca de soquete C real contém implementações para diferentes funções e macros que fornecem a funcionalidade básica do soquete fornecida pelas bibliotecas de idiomas, embora o arquivo Socket C seja dependente do sistema operacional e possa não ser implementado em alguns sistemas. A gravação do código C envolve a criação de uma interface com um protocolo de entrada e saída padrão, conhecido como soquete, e usá -lo para enviar ou receber informações, geralmente sobre uma rede ou através de um hardware. A linguagem de programação C pretende ser portátil, mas a programação de soquete depende de algumas funções específicas do sistema de baixo nível, por isso às vezes pode ser difícil escrever programas em C que usam soquetes, mas também mantêm portabilidade entre sistemas.
Existem três tipos básicos de soquetes que o Socket C suporta. O primeiro é conhecido como datagrama, o segundo é um fluxo e o terceiro é o acesso bruto. Um datagrama é um tipo de soquete que envia informações em pequenos pacotes conhecidos como pacotes. Cada pacote é enviado de uma fonte com informações sobre o soquete de destino que está buscando em uma rede. Embora um datagrama possa ser um método eficiente de se comunicar através de soquetes e geralmente é usado para enviar email, ele também é perdido, porque nenhum pacote enviado é garantido para chegar ao soquete de destino.
Um soquete de fluxo faz uma conexão com outro soquete e as informações são passadas diretamente entre os soquetes. Quando usado na programação do Socket C, esse tipo de soquete garante que todos os dados enviados sejam recebidos do outro lado. Uma complicação, no entanto, é que o soquete às vezes pode usar o bloqueio, o que significa que o soquete interromperá a execução de um processo atéAs informações são recebidas ou até que o soquete seja fechado, embora o uso de threads ou processos bifurcados possa resolver esse problema na maioria dos casos. O acesso ao soquete bruto é fornecido como um meio de realmente interface em um nível de hardware quase com qualquer dispositivo que esteja hospedando o soquete.
Os soquetesgeralmente são usados de várias formas para comunicações da Internet. O hardware e os drivers que permitem que a rede ocorra varia bastante pelo sistema operacional, portanto, pode ser difícil localizar um arquivo de biblioteca Socket C que suporta todas as combinações possíveis. Por esse motivo, o próprio arquivo do soquete C, bem como o arquivo de cabeçalho do soquete, geralmente contém uma longa lista de diretivas de compilação condicional para que ele compilará de maneira diferente em vários sistemas.