O que é um Socket?
Sockets permitir a comunicação entre dois processos diferentes no mesmo ou em diferentes máquinas. Para ser mais preciso, é uma maneira de falar com outros computadores usando descritores de arquivos Unix padrão. No Unix, cada ação de E / S é feita escrevendo ou lendo um descritor de arquivo. Um descritor de arquivo é apenas um inteiro associado a um arquivo aberto e pode ser uma conexão de rede, um arquivo de texto, um terminal, ou algo mais.
para um programador, um socket se parece e se comporta muito como um descritor de arquivo de baixo nível. Isto é porque comandos como ler() e escrever() trabalham com sockets da mesma forma que eles fazem com arquivos e tubos.
Sockets foram introduzidos pela primeira vez em 2.1 BSD e posteriormente refinados em sua forma atual com 4.2 BSD. O recurso sockets está agora disponível com a maioria das versões atuais do sistema UNIX.
onde é usado o ‘Socket’?
um soquete Unix é usado em um framework de aplicação cliente-servidor. Um servidor é um processo que executa algumas funções a pedido de um cliente. A maioria dos protocolos de nível de aplicação como FTP, SMTP e POP3 fazem uso de sockets para estabelecer conexão entre cliente e servidor e, em seguida, para o intercâmbio de dados.
tipos de tomadas
Existem quatro tipos de tomadas disponíveis para os usuários. Os dois primeiros são mais comumente usados e os dois últimos raramente são usados.presume-se que os processos
comuniquem apenas entre tomadas do mesmo tipo, mas não há restrição que impeça a comunicação entre tomadas de diferentes tipos.
-
tomadas de corrente-é garantida a entrega num ambiente em rede. Se você enviar através do soquete de fluxo três itens “a, B, C”, eles vão chegar na mesma ordem − “A, B, C”. Estes sockets usam TCP (Transmission Control Protocol) para a transmissão de dados. Se a entrega for impossível, o remetente recebe um indicador de erro. Os registos de dados não têm limites.Datagram Sockets − não é garantida a entrega num ambiente em rede. Eles são conectivos porque você não precisa ter uma conexão aberta como em soquetes Stream − você constrói um pacote com as informações de destino e enviá-lo para fora. Eles usam UDP (User Datagram Protocol).
-
Sockets Raw – estes fornecem aos usuários acesso aos protocolos de comunicação subjacentes, que suportam abstrações de socket. Estes sockets são normalmente orientados para datagramas, embora suas características exatas sejam dependentes da interface fornecida pelo protocolo. Sockets Raw não são destinados ao usuário geral; eles foram fornecidos principalmente para aqueles interessados em desenvolver novos protocolos de comunicação, ou para ter acesso a algumas das instalações mais crípticas de um protocolo existente.
-
pacotes sequenciados − eles são semelhantes a um soquete de fluxo, com a exceção de que os limites de registro são preservados. Esta interface é fornecida apenas como parte da abstração de socket de Sistemas de rede (NS), e é muito importante na maioria das aplicações NS graves. Os sockets Sequenced-packet permitem ao utilizador manipular os cabeçalhos de sequência de pacotes (SPP) ou de Internet Datagram Protocol (IDP) num pacote ou num grupo de pacotes, quer escrevendo um cabeçalho protótipo juntamente com quaisquer dados a serem enviados, quer especificando um cabeçalho predefinido a ser usado com todos os dados enviados, e permite ao utilizador receber os cabeçalhos nos pacotes recebidos.
O que se segue?
os próximos capítulos destinam-se a reforçar o seu básico e a preparar uma fundação antes de poder escrever programas de servidores e clientes usando o socket. Se você quiser saltar diretamente para ver como escrever um cliente e programa de servidor, então você pode fazê-lo, mas não é recomendado. É fortemente recomendado que você vá passo a passo e complete estes poucos capítulos iniciais para fazer sua base antes de passar a fazer programação.
Leave a Reply