CSocketFile::CSocketFile
Costruisce un oggetto CSocketFile.
explicit CSocketFile(
CSocket* pSocket,
BOOL bArchiveCompatible = TRUE
);
Parametri
pSocket
Il socket per connettersi a CSocketFile l'oggetto.bArchiveCompatible
Specifica se l'oggetto file corrisponde a un oggetto CArchive.Passare FALSE solo se si desidera utilizzare l'oggetto CSocketFile in modo autonomo come un oggetto autonomo CFile, con alcune limitazioni.Modifiche di questo flag come oggetto CArchive connesso all'oggetto CSocketFile mantiene il suo buffer per leggere.
Note
Il distruttore dell'oggetto viene annullata l'associazione dall'oggetto socket quando l'oggetto area di validità o eliminato.
[!NOTA]
CSocketFile può essere utilizzato come file (limitato) di una classe senza un oggetto CArchive.Per impostazione predefinita, il parametro bArchiveCompatible del costruttore CSocketFile è TRUE.Viene specificato che l'oggetto funge file con un archivio.Per utilizzare l'oggetto file senza un archivio, passare FALSE nel parametro bArchiveCompatible.
Nella modalità "compatibilità di l", un oggetto CSocketFile offre prestazioni migliori e riduce il pericolo "di un deadlock." Un deadlock si verifica quando i socket l'invio di ricezioni in attesa viene compilata su, o per una risorsa comune.Questa situazione può verificarsi se l'oggetto CArchive esecuzione con CSocketFile la modalità che consente a un oggetto CFile.Con CFile, l'archivio può presupporre che se riceve byte meno che ha richiesto, il fine del file è stato raggiunto.
Con CSocketFile, tuttavia, i dati vengono messaggio in base; il buffer può contenere più messaggi, la ricezione di inferiore al numero di byte necessari non implica fine del file.L'applicazione non si blocca in questo caso potrebbe ad esempio con CFilee può continuare a leggere i messaggi dal buffer fino a quando il buffer non sia vuoto.La funzione CArchive::IsBufferEmpty è utile per monitorare lo stato del buffer di archiviazione in questo caso.
Per ulteriori informazioni sull'utilizzo CSocketFile, vedere gli articoli Windows Sockets: Utilizzo di socket con gli archivi e Windows Sockets: Esempio di socket utilizzando gli archivi.
Requisiti
Header: afxsock.h