Partilhar via


CSocketFile::CSocketFile

Constrói um CSocketFile objeto.

explicit CSocketFile(
   CSocket* pSocket,
   BOOL bArchiveCompatible = TRUE 
);

Parâmetros

  • pSocket
    O soquete para anexar o CSocketFile objeto.

  • bArchiveCompatible
    Especifica se o objeto de arquivo para uso com um CArchive objeto. Passar FALSE somente se você quiser usar o CSocketFile sistema autônomo você faria autônoma de objeto de maneira autônoma CFile objeto com certas limitações. Este sinalizar alterações como a CArchive objeto associado a CSocketFile objeto gerencia seu buffer de leitura.

Comentários

Destruidor do objeto desassocia próprio do objeto do soquete quando o objeto sai do escopo ou é excluído.

Observação:

A CSocketFile também pode ser usado sistema autônomo um arquivo (limitado) sem um CArchive objeto. Por padrão, a CSocketFile do construtor bArchiveCompatible o parâmetro é TRUE.Isso especifica que o arquivar objeto é para uso com um sistema de arquivar.Para usar o arquivar objeto sem um sistema de arquivar, passar FALSE in the bArchiveCompatible parâmetro.

No modo "compatível com o arquivar", umCSocketFileobjeto fornece melhor desempenho e reduz o perigo de "deadlock". Um deadlock ocorre quando os soquetes de envio e recebimento estão aguardando em si ou para um recurso comum.Essa situação pode ocorrer se o CArchive objeto trabalhou com a CSocketFile a forma que faz com um CFile objeto. Com CFile, o arquivar pode assumir que, caso receba bytes menos do que ele solicitado, o participante do arquivar foi atingido.

Com CSocketFile, no entanto, os dados são mensagem com base; o buffer pode conter várias mensagens, portanto, receber menos que o número de bytes solicitado não implica o participante do arquivo. O aplicativo não bloqueia nesse caso, sistema autônomo pode ocorrer com CFile, e ele poderá continuar a leitura de mensagens do buffer até que o buffer esteja vazio. The CArchive::IsBufferEmpty função é útil para monitorar o estado de buffer do arquivar nesse caso.

Para obter mais informações sobre o uso de CSocketFile, consulte os artigos Windows Sockets: Usando soquetes com arquivos e Windows Sockets: Exemplo de soquetes de segurança usando arquivos.

Requisitos

Cabeçalho: afxsock.h

Consulte também

Referência

Classe CSocketFile

Gráfico de hierarquia

CFile::CFile

CFile::Read

Outros recursos

CSocketFile membros