Compartilhar via


Windows Sockets em MFC

Observação

O MFC dá suporte ao Windows Sockets 1, mas não dá suporte ao Windows Sockets 2. O Windows Sockets 2 foi enviado pela primeira vez com o Windows 98 e é a versão incluída no Windows 2000.

O MFC fornece dois modelos para escrever programas de comunicação de rede com o Windows Sockets, incorporados em duas classes MFC. Este artigo descreve esses modelos e mais detalhes sobre o suporte a soquetes MFC. Um "soquete" é um ponto de extremidade de comunicação: um objeto por meio do qual seu aplicativo se comunica com outros aplicativos do Windows Sockets em uma rede.

Para informações sobre o Windows Sockets, incluindo uma explicação do conceito de soquete, confira Windows Sockets: informações preliminares.

Modelos de programação de soquetes

Os dois modelos de programação do Windows Sockets MFC têm suporte nas seguintes classes:

  • CAsyncSocket

    Essa classe encapsula a API do Windows Sockets. CAsyncSocket é para programadores que conhecem a programação de rede e querem a flexibilidade de programar diretamente para a API de soquetes, mas também a conveniência das funções de retorno de chamada para notificação de eventos de rede. Além de empacotar soquetes na forma orientada a objeto para uso em C++, a única abstração adicional fornecida por essa classe é converter determinadas mensagens do Windows relacionadas ao soquete em retornos de chamada. Para obter mais informações, consulte Windows Sockets: notificações de soquete.

  • CSocket

    Essa classe, derivada de CAsyncSocket, fornece uma abstração de nível mais alto para trabalhar com soquetes por meio de um objeto CArchive do MFC. Usar um soquete com um arquivo é muito parecido com o protocolo de serialização de arquivos do MFC. Isso o torna mais fácil de usar que o modelo CAsyncSocket. O CSocket herda várias funções de membro de CAsyncSocket que encapsulam APIs do Windows Sockets; você precisará usar algumas dessas funções e entender a programação de soquetes em geral. Porém, CSocket gerencia muitos aspectos da comunicação que você teria que fazer por conta própria usando a API bruta ou a classe CAsyncSocket. Mais importante, CSocket fornece bloqueio (com processamento em segundo plano de mensagens do Windows), que é essencial para a operação síncrona de CArchive.

A criação e o uso de objetos CSockete CAsyncSocket são descritos em Windows Sockets: como usar soquetes com arquivos e Windows Sockets: como usar a classe CAsyncSocket.

DLLs do Windows Sockets

Os sistemas operacionais Microsoft Windows fornecem a DLL (bibliotecas de vínculo dinâmico) do Windows Sockets. O Visual C++ fornece os arquivos e bibliotecas de cabeçalho apropriados e a especificação do Windows Sockets.

Para mais informações sobre Windows Sockets, confira:

Confira também

Windows Sockets