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