Compartilhar via


Windows Sockets: Sockets do fluxo

Este artigo descreve os soquetes de fluxo, um dos dois tipos de Windows Socket disponível.(O Outros tipo é o soquete de datagrama.)

Soquetes fluxo fornecem um fluxo de dados sem limites de registro: um fluxo de bytes que pode ser bidirecional (o aplicativo é full duplex: Ele pode transmitir e receber através do soquete).Fluxos de podem ser considerados para entregar dados seqüenciados, unduplicated.("Seqüenciados" significa que os pacotes são entregues na ordem enviadas. "Unduplicated"significa que você obtenha um pacote específico somente uma vez.) Recebimento de mensagens de fluxo é garantido e fluxos são adequados para lidar com grandes quantidades de dados.

A camada de transporte de rede pode dividir ou agrupar dados em pacotes de dimensionar razoável.The CSocket classe tratará a remessa e descompactação para você.

Fluxos são baseados em conexões explícitas: soquete A solicita uma conexão com o soquete B; soquete B aceita ou rejeita a solicitação de conexão.

Uma telefonar telefônica fornece uma mercadoria analogia para um fluxo.Em circunstâncias normais, a parte destinatária ouve o que dizem na ordem em que dizer, sem duplicação ou perda.Soquetes fluxo são apropriados, por exemplo, para implementações, sistema autônomo o protocolo FTP (FTP), que facilita a transferência ASCII ou binário arquivos de dimensionar arbitrário.

Soquetes fluxo são preferidos a soquetes datagrama quando os dados devem ser garantidos para chegar e quando o dimensionar dos dados é grande.Para obter mais informações sobre soquetes fluxo, consulte a especificação de Windows Sockets.A especificação está disponível no Windows SDK.

Usar soquetes fluxo pode ser superior a aplicativos criados para usar um soquete de datagrama para transmitir a todos os soquetes de recebimento na rede porque

  • O modelo de difundido está sujeitas a problemas de rede inundação (ou "tempestade").

  • O modelo cliente-servidor adotado, em seguida, é mais eficiente.

  • O modelo de fluxo fornece transferência de dados confiável, onde o modelo de datagrama não.

  • Modelo final aproveita a capacidade de comunicação entre ANSI e Unicode em aplicativos de soquete dessa classe que CArchive presta a classe CSocket.

    Observação:

    Se você usar a classe CSocket, você deve usar um fluxo. Uma declaração de MFC falha se você especificar o tipo de soquete sistema autônomo SOCK_DGRAM.

Consulte também

Conceitos

Windows Sockets no MFC

Windows Sockets: Segundo plano