Partilhar via


Windows Sockets: Notificações de soquete

Este artigo descreve as funções de notificação nas classes de soquete.Essas funções de membro são funções de retorno de chamada que chama a estrutura para notificar seu objeto de soquete de eventos importantes.As funções de notificação são:

  • OnReceive: Notifica nesse soquete há dados no buffer para que ele recuperar chamando Receber.

  • OnSend: Notifica nesse soquete agora ele pode enviar dados chamando Enviar.

  • OnAccept: Notifica esse soquete de escuta que possa aceitar solicitações de conexão pendentes por chamada Aceitar.

  • AoConectar: Notifica nesse soquete de conexão concluir sua tentativa de conexão: Talvez com êxito ou talvez em erro.

  • OnClose: Notifica nesse soquete fechou o soquete a que está conectado.

    Observação:

    Um n adicional função otification é OnOutOfBandData.Esta notificação informa ao soquete de recebimento que o soquete de envio tenha dados "out-of-banda" para enviar.Dados fora de banda são um canal logicamente independente associado a cada emparelhar de soquetes fluxo conectado.O canal fora de banda costuma ser usado para enviar dados de "urgentes".MFC oferece suporte a dados fora de banda.Usuários avançados, trabalhando com a classe CAsyncSocket talvez precise usar o canal fora de banda, mas os usuários da classe CSocket são desencorajado de usá-las.A maneira mais fácil é criar um segundo soquete para a passagem desses dados.Para obter mais informações sobre os dados fora de banda, consulte a especificação de Windows Sockets, disponível no Windows SDK.

Se você derivar de classe CAsyncSocket, você deve substituir as funções de notificação para os eventos de interesse para seu aplicativo de rede. Se você derivar uma classe de classe CSocket, é sua escolha se deseja substituir as funções de notificação de interesse. Você também pode usar CSocket propriamente dito, caso em que a notificação funções padrão, sem fazer nada.

Essas funções são funções de retorno de chamada substituível.CAsyncSocket e CSocket Converter mensagens para notificações, mas você devem implementar a notificação de funcionamento responder se você desejar usá-los. sistema autônomo funções de notificação são chamadas no momento que seu soquete é notificado de um evento de interesse, sistema autônomo a presença de dados para ser lido.

MFC chama as funções de notificação para informá-lo de personalizar o comportamento do seu soquete ao time que é notificado.Por exemplo, talvez telefonar Receber de seuOnReceive função de notificação, ou seja, em que está sendo notificado se houver dados para ler, você telefonar Receber para lê-lo.Essa abordagem não é necessária, mas é um cenário válido.sistema autônomo alternativa, você pode usar a função de notificação para controlar o progresso, imprimir RASTREAMENTOsistema autônomo mensagens de e assim por diante.

Você pode tirar proveito dessas notificações, substituindo as funções de notificação em uma classe derivada do soquete e fornecendo uma implementação.

Durante uma operação sistema autônomo receber ou enviar dados, um CSocket objeto se torna síncrono. Durante o estado síncrono, notificações que se destina à outros soquetes são na na fila enquanto aguarda o soquete corrente para a notificação de que deseja.(Por exemplo, durante um Receber telefonar, o soquete quer uma notificação de leitura.) Depois que o soquete concluirá a operação síncrono e assíncrono fica, outros soquetes podem começar a receber as notificações na fila.

Observação:

Em CSocket, o OnConnect função de notificação nunca seja chamada. Para conexões, você chamar Conectar-se, que retornará quando a conexão seja concluída (com êxito ou erro).Como são tratadas as notificações de conexão é um detalhe de implementação do MFC.

Para obter detalhes sobre cada função de notificação, consulte a função de classe CAsyncSocket no Referência da MFC.Para código-fonte e informações sobre exemplos do MFC, consulte Exemplos do MFC.

Para obter mais informações, consulte:

Consulte também

Conceitos

Windows Sockets no MFC