Sdílet prostřednictvím


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

Viz také

Referenční dokumentace

Třída CSocketFile

Graf hierarchie

CFile::CFile

CFile::Read