複製鏈接
請複製以下鏈接發送給好友

CSocketFile

鎖定
CSocketFile是一種程序語言,所屬Socket編程。
外文名
CSocketFile
種    類
程序語言
屬    性
Socket編程
不支持
datagram的Socket連接上序列

目錄

CSocketFile簡介

進行Socket編程,不能不提到CSocketFile類,其實它並不是用來在Socket雙方發送文件的,而是將需要的數據序列化,比如一些結構體數據,傳給對方,這樣,程序的CDocument()的序列化函數就完全可以和CSocketFile聯繫起來。例如你有一個CMyDocument實現了Serialize(),你可以這樣來將你的文檔數據傳給Socket的另一方:
CSocketFile file( pSocket );
CArchive ar( &file, CArchive::store );
pDocument->Serialize( ar );
ar.Close();
同樣,接收一方可以只改變上面的代碼為CArchive ar( &file, CArchive::load );即可。

CSocketFile注意

CSocketFile類雖然從CFile派生,但它屏蔽掉了CFile::Open()等函數,而函數里僅扔出一個例外。那麼也就是説,你不能調用CSocketFile的Open函數來打開一個實實在在的文件,否則會導致例外,如果你需要利用CSocketFile來傳送文件,你必須提供CSocketFile類的這些函數的實現。
再一點,CArchive不支持在datagram的Socket連接上序列化數據