共用方式為


CSocketFile::CSocketFile

建構 CSocketFile 物件。

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

參數

  • pSocket
    附加至 CSocketFile 物件的通訊端。

  • bArchiveCompatible
    指定檔案物件是否要用以 CArchive 物件的。 請將 ,只有當您想要使用 CSocketFile 物件提供獨立模式時,您可以像獨立 CFile 物件,具有某些限制。 這個旗標變更附加的 CArchive 物件 CSocketFile 物件如何處理其讀取的緩衝區。

備註

當物件超出範圍或刪除時,物件的解構函式從通訊端 (Socket) 中斷連接物件本身。

注意事項注意事項

檔案,而不用 CArchive 物件, CSocketFile 也可以使用,而 (限制)。根據預設, CSocketFile 建構函式的 bArchiveCompatible 參數是 。這個檔案指定物件都適用於檔案中。若要使用檔案物件,沒有檔案,則會將 bArchiveCompatible 參數的

在它的「檔案」相容的模式, CSocketFile 物件會提供更好的效能並且減少「死結的風險」。死結的通用資源時,就會傳送和接收的通訊端等候彼此,或。 這種情況,就可能會發生 CArchive 物件與 CSocketFile 使用它對 CFile 物件的方式。 CFile,這個檔案可以假設,如果已設定,則它收到較少的位元組比要求,檔案結尾已經到達。

CSocketFile,不過,資料是以為基礎的訊息;緩衝區小於要求的位元組數不表示檔案結尾可以包含多個訊息,因此,接收。 應用程式在這個案例中,不會封鎖。 CFile,它可以使用,而且它會繼續讀取緩衝區的訊息,直到緩衝區是空的。 CArchive::IsBufferEmpty 函式。在此情況下監視檔案之緩衝區的狀態會很有幫助。

如需使用 CSocketFile的相關資訊,請參閱 Microsoft 知識庫文件 Windows Sockets:使用具有檔案的通訊端Windows Sockets:通訊端的範例會使用檔案

需求

Header: afxsock.h

請參閱

參考

CSocketFile 類別

階層架構圖

CFile::CFile

CFile::Read