Compartilhar via


Windows Sockets: Segundo plano

Este artigo explica a natureza e a finalidade do Windows Sockets.O artigo também:

  • Define o termo "soquete".

  • Descreve o tipo de dados de identificador SOCKET.

  • Descreve o uso de soquetes.

A especificação do Windows Sockets define uma interface de programação de rede compatível com o binário para o Microsoft Windows.Windows Sockets se baseiam na implementação de soquetes da UNIX em Berkeley Software Distribution (BSD, versão 4.3) pela Universidade da Califórnia em Berkeley.A especificação inclui rotinas de soquete BSD estilo e extensões específicas para Windows.Usando Windows Sockets permite que seu aplicativo para se comunicar através de qualquer rede que esteja de acordo com a API do Windows Sockets.No Win32, Windows Sockets fornecem para acesso thread-safe.

Muitos fornecedores de software de rede oferecem suporte a Windows Sockets em protocolos de rede, incluindo TCP/IP (protocolo IP IP TCP/protocolo IP IP), XNS (Xerox Network sistema), Digital Equipment Corporation DECNet protocolo IP IP, Internet pacote Exchange/Sequenced compactada Exchange da Novell Corporation (IPX/SPX) e outros.Embora a especificação de Windows Sockets presente define a abstração de soquetes TCP/IP, qualquer protocolo de rede pode estar em conformidade com o Windows Sockets, fornecendo sua própria versão da biblioteca de vínculo dinâmico (DLL) que implementa o Windows Sockets.Sistemas de email, emuladores de terminal e servidores X Windows são exemplos de aplicativos comerciais escritos com o Windows Sockets.

Observação:

O objetivo do Windows Sockets é abstrair a rede subjacente para que você não tem conhecimentos sobre rede e, para que possa executar seu aplicativo em qualquer rede que dá suporte a soquetes.Conseqüentemente, esta documentação não aborda os detalhes de protocolos de rede.

O Microsoft Foundation classe biblioteca (MFC) oferece suporte à programação com a API do Windows Sockets, fornecendo duas classes.Uma dessas classes, CSocket, oferece um alto nível de abstração para simplificar a sua programação de comunicações de rede.

A especificação de Windows Sockets, Windows Sockets: Uma interface em em aberto Network Computing em Microsoft Windows, agora a versão 1.1, foi desenvolvida sistema autônomo um padrão de rede em aberto por um grande agrupar de indivíduos e empresas na comunidade de TCP/IP e está disponível gratuitamente para uso.Os soquetes programação modelo oferece suporte a uma comunicação "domínio" no momento, usando o Internet protocolo IP IP Suite.A especificação está disponível no Windows SDK.

Dica:

Como soquetes usam o Internet protocolo IP IP Suite, eles são a rota preferencial para aplicativos que oferecem suporte a comunicação na estrada de informações"."

Definição de um soquete

Um soquete é um ponto de extremidade de comunicação — um objeto por meio do qual um aplicativo do Windows Sockets envia ou recebe pacotes de dados em uma rede.Um soquete tem um tipo e está associado a um processo em execução e pode ter um nome.Atualmente, soquetes geralmente trocam dados somente com outros soquetes no mesmo "comunicação domínio," que usa o conjunto de protocolos de Internet.

Os dois tipos de soquetes são bidirecional; eles são fluxos de dados que podem ser comunicados simultaneamente em ambas as direções (full duplex).

Dois tipos de soquete estão disponível:

  • Soquetes fluxo

    Soquetes fluxo fornecem um fluxo de dados sem limites de registro: um fluxo de bytes.Fluxos são garantidos para ser entregue e para ser seqüenciados e unduplicated corretamente.

  • Soquetes de datagrama

    Datagrama soquetes suporte a um registro orientado por fluxo de dados que não há garantia de ser entregues e não pode ser seqüenciado sistema autônomo enviados ou unduplicated.

"Seqüenciados" significa que os pacotes são entregues na ordem enviadas. "Unduplicated"significa que você obter um pacote específico somente uma vez.

Observação:

Em alguns protocolos de rede, sistema autônomo XNS, fluxos podem ser orientados a, sistema autônomo fluxos de registros, em vez de fluxos de bytes de registro.Sob o protocolo TCP/IP mais comuns, no entanto, os fluxos são fluxos de byte.Windows Sockets oferece um nível de abstração independente do protocolo subjacente.

Para obter mais informações sobre esses tipos e que tipo de soquete para usar em quais situações, consulte Windows Sockets: Fluxo Sockets e Windows Sockets: Datagrama Sockets.

O tipo de dados SOCKET

Cada objeto de soquete MFC encapsula um identificador para um objeto do Windows Sockets.O tipo de dados desse identificador é SOQUETE.A SOQUETE identificador é análogo à HWND para uma janela. Classes do MFC soquete fornecem operações na alça encapsulada.

The SOQUETE tipo de dados é descrito detalhadamente no Windows SDK. Consulte "Tipo de dados do soquete e valores de erro" sob Windows Sockets.

Usos de Sockets

Soquetes são altamente úteis em comunicações de pelo menos três contextos:

  • Modelos de cliente/servidor.

  • Cenários de de mesmo nível-a-de mesmo nível, sistema autônomo aplicativos de bate-papo.

  • Fazendo chamadas de procedimento remoto (RPC) tendo o aplicativo de recebimento interpretar uma mensagem sistema autônomo uma telefonar de função.

Dica:

O caso ideal para o uso de soquetes MFC é quando você está escrevendo ambas as extremidades de comunicação: Usar MFC em ambas as extremidades.Para obter mais informações sobre esse tópico, incluindo como gerenciar o caso quando você estiver se comunicando com aplicativos não-MFC, consulte Windows Sockets: byte pedidos.

Para obter mais informações, consulte Especificação do Windows Sockets: ntohs, ntohl, htons, htonl.Além disso, consulte os tópicos a seguir:

Consulte também

Conceitos

Windows Sockets no MFC