Share via


CSocketFile::CSocketFile

Crea un objeto CSocketFile.

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

Parámetros

  • pSocket
    El socket para asociar a CSocketFile el objeto.

  • bArchiveCompatible
    Especifica si el objeto de archivo se utiliza con un objeto de CArchive .Paso FALSO sólo si desea utilizar el objeto de CSocketFile de forma independiente mientras se un objeto independiente de CFile , con ciertas limitaciones.Cambios de este marcador cómo el objeto de CArchive asociado al objeto de CSocketFile administra su búfer para leer.

Comentarios

El destructor del objeto se desasocia del objeto de socket cuando el objeto salga del ámbito o eliminan.

[!NOTA]

CSocketFile también se puede utilizar como archivo restringido) de a sin un objeto de CArchive .De forma predeterminada, el parámetro de bArchiveCompatible de constructor de CSocketFile es TRUE.Esto especifica que el objeto de archivo es para el uso con un archivo.Para utilizar el objeto de archivo sin un archivo, pase FALSO en el parámetro de bArchiveCompatible .

En el modo compatible de “archivo”, un objeto de CSocketFile proporciona mejor rendimiento y reduce el riesgo de un “interbloqueo.” Un interbloqueo se produce cuando los sockets de envío y que reciben están esperando sí, o para un recurso común.Esta situación puede producirse si el objeto de CArchive ejecutó CSocketFile la manera que con un objeto de CFile .Con CFile, se ha alcanzado el archivo puede suponer que si recibe menos bytes que solicitó, el final del archivo.

Con CSocketFile, sin embargo, los datos están mensaje basándose; el búfer puede contener varios mensajes, por lo que recibir menor que el número de bytes solicitados no implica el final del archivo.La aplicación no bloquea en este caso como podría con CFile, y puede continuar leyendo mensajes del búfer hasta que el búfer está vacío.La función de CArchive:: IsBufferEmpty es útil para supervisar el estado del búfer del archivo en este caso.

Para obtener más información sobre el uso de CSocketFile, vea los artículos Windows Sockets: Mediante sockets con archivos y Windows Sockets: Ejemplo de utilizar archivos de sockets.

Requisitos

encabezado: afxsock.h

Vea también

Referencia

Clase de CSocketFile

Gráfico de jerarquía

CFile::CFile

CFile::Read