Windows Sockets: plano de fundo
Este artigo explica a natureza e o objetivo da do Windows.O artigo também:
Define o termo “soquete”.
Descreve o tipo de dados de gerenciamento de SOQUETE.
Descreve usa para os soquetes.
A especificação da do Windows define uma interface de programação binário- correspondente de rede para o Microsoft Windows.Os soquetes do Windows são baseados na implementação da de UNIX no Berkeley Software Distribution (DEB, versão 4,3) de Universidade de California em Berkeley.A especificação inclui rotinas e as extensões de soquete de estilo DEB- específicas para Windows.Usar os soquetes do Windows permite que o aplicativo se comunicar através da rede que está de acordo com à API do Windows.Em O, os soquetes do Windows preveem segurança de segmentos.
Vários provedores de software de rede suportam os soquetes do Windows nos protocolos de rede que incluem o protocolo TCP/IP (), o Xerox TCP/IP Network System (XNS), protocolo de DECnet Digital Equipment Corporation, pacote Exchange/Exchange empacotado arranjado em sequência IPX/SPX (), e outro da Internet de Novell Corporation.Embora a especificação da atual do Windows defina a abstração da para o TCP/IP, qualquer protocolo de rede pode estar de acordo com os soquetes do Windows fornecendo sua própria versão da biblioteca de vínculo dinâmico (DLL) que implementa os soquetes do Windows.Exemplos de aplicativos comerciais escritos com soquetes do Windows incluem servidores de X Windows, emuladores de terminal, e sistemas de email eletrônicos.
Observação |
---|
O objetivo da do Windows é abstract possam a rede subjacente para que você não tem que ser conhecedor sobre a rede e assim que seu aplicativo pode executar em qualquer rede que oferecer suporte aos soquetes.Como consequência, esta documentação não aborda os detalhes dos protocolos de rede. |
Programação de suporte de biblioteca de classes da Microsoft foundation (MFC) com os soquetes API do Windows fornecendo duas classes.Uma dessas classes, CSocket, fornece um alto grau de abstração para simplificar a programação de comunicação de rede.
A especificação da do Windows, soquetes do Windows: Uma interface aberta para a computação de rede no Microsoft Windows, agora na versão 1,1, foi desenvolvida como um padrão aberto de rede por um grande grupo de pessoas e de corporaçõs na comunidade TCP/IP e distribuído está disponível para uso.Os soquetes programação o modelo suportam um “domínio comunicação” atualmente, usando o pacote de IP.A especificação está disponível em Windows SDK.
Dica |
---|
Porque os soquetes usam o pacote de IP, são a rota preferencial para aplicativos que suportam comunicação da Internet de “em estrada informações.” |
Definição de um soquete
Um soquete é um ponto final de comunicação — um objeto através da qual um aplicativo de soquetes do Windows envia ou recebe pacotes de dados em uma rede.Um soquete tem um tipo e está associado com um processo em execução, e pode ter um nome.Atualmente, da troca de dados geralmente somente com outros soquetes no mesmo domínio comunicação de uma “,” usando o pacote de IP.
Ambos os tipos da são bidirecionais; são os fluxos de dados que podem ser expressos em ambas as direções simultaneamente (completos de dois lados.)
Dois tipos de soquete estão disponíveis:
Soquetes de fluxo
Os soquetes de fluxo preveem um fluxo de dados sem limites do registro: um fluxo de bytes.Fluxos são garantidos para ser enviados corretamente e para ser arranjados em sequência e unduplicated.
Soquetes de datagrama
Os soquetes de datagrama suportam um fluxo de dados registro orientado que não é garantido que entregado e não podem ser arranjados em sequência enviado como ou unduplicated.
“Arranjado em sequência” significa que os pacotes são enviados na ordem enviado. “Unduplicated” significa que você obtém um conjunto específico apenas uma vez.
Observação |
---|
Em alguns protocolos de rede, como o XNS, os fluxos podem ser registro centralizado, como fluxos de registros em vez de fluxos de bytes.No protocolo TCP/IP mais comuns, no entanto, os fluxos são fluxos de bytes.Os soquetes do Windows fornecem um nível de forma independente de abstração de protocolo subjacente. |
Para obter informações sobre estes tipos e o tipo de soquete a usar em situações que, consulte Soquetes do Windows: Soquetes de fluxo e Soquetes do Windows: Soquetes de datagrama.
O tipo de dados de SOQUETE
Cada objeto de soquete MFC encapsula um identificador para um objeto da do Windows.O tipo de dados deste identificador é SOCKET.Uma alça de SOCKET é análogo a HWND para uma janela.As classes de soquete MFC fornecem operações na alça encapsulada.
O tipo de dados de SOCKET é descrito em detalhes em Windows SDK.Consulte “do tipo de dados soquete e o erro é avaliada” nos soquetes do Windows.
Usos para os soquetes
Os soquetes são altamente úteis pelo menos três das comunicações contextos:
Modelos cliente/servidores.
Cenários pontos a ponto, como aplicativos de mensagem.
Fazendo chamadas de procedimento remoto (RPC) tendo o aplicativo de recepção interpretar uma mensagem como uma chamada de função.
Dica |
---|
Os argumentos ideais para usar os soquetes MFC são quando você estiver escrevendo ambos os fins de comunicação: usando o MFC em ambas as extremidades.Para obter mais informações sobre este tópico, incluindo como gerenciar os casos quando você estiver comunicando com aplicativos não MFC, consulte Soquetes do Windows: Ordenação de bytes. |
Para obter mais informações, consulte a especificação da do Windows: ntohs, ntohl, htons, htonl.Além disso, consulte os seguintes tópicos: