CSocketFile::CSocketFile
Konstrukce CSocketFile objektu.
explicit CSocketFile(
CSocket* pSocket,
BOOL bArchiveCompatible = TRUE
);
Parametry
pSocket
Připojit k soketu CSocketFile objektu.bArchiveCompatible
Určuje, zda je objekt souboru pro použití CArchive objektu.Předat FALSE pouze v případě, že chcete použít CSocketFile objektu samostatným způsobem stejně jako samostatného CFile objekt s určitá omezení.Tento příznak změní jak na CArchive k objektu CSocketFile objektu spravuje vyrovnávací paměti pro čtení.
Poznámky
Zrušíte destruktoru objektu spojení samotného objektu soketu při mimo rozsah nebo odstranění objektu.
[!POZNÁMKA]
A CSocketFile lze použít také jako soubor (omezené) bez CArchive objektu.Standardně CSocketFile v konstruktoru bArchiveCompatible je parametr TRUE.Určuje, že objektu souboru je pro použití s archivu.Použití objektu souboru bez archivu, předat FALSE v bArchiveCompatible parametr.
V režimu "archivu kompatibilní" CSocketFile objektu poskytuje lepší výkon a snižuje nebezpečí "zablokování". Příjem a odesílání sockets čekají na sebe nebo společné zdroje dojde k zablokování.Tato situace může nastat, pokud CArchive objektu pracovali CSocketFile tak, jak je tomu u CFile objektu.S CFile , archiv může předpokládat, že pokud obdrží menším počtem bajtů než je požadováno, konce souboru bylo dosaženo.
S CSocketFile , dat je však zpráva založena; vyrovnávací paměť může obsahovat více zpráv, tak přijímání méně než počet bajtů neznamená konec souboru.Jak se může stát s neblokuje aplikace v tomto případě CFile , a může pokračovat, dokud není vyrovnávací paměť prázdná čtení zpráv z vyrovnávací paměti.CArchive::IsBufferEmpty funkce je užitečná pro sledování stavu vyrovnávací paměti archivu v takovém případě.
Další informace o použití CSocketFile , naleznete v článcích rozhraní Windows Sockets: pomocí soketů s archivy a rozhraní Windows Sockets: příklad z Sockets pomocí archivy.
Požadavky
Záhlaví: afxsock.h