CSocketFile::CSocketFile

CSocketFile ( CSocket ※ pSocket, BOOL bArchiveCompatible = TRUE );

パラメーター

pSocket

CSocketFileオブジェクトにアタッチするソケット。

bArchiveCompatible

ファイル オブジェクトをCArchiveオブジェクトで使用するかどうかを指定します。一定の制限で、スタンドアロンのCFileオブジェクトの場合と同様、 CSocketFileオブジェクトをスタンドアロンで使用する場合にのみFALSEを渡します。このフラグは、 CSocketFileオブジェクトに結び付けられて、 CArchiveオブジェクトが、読み取り用のバッファーを管理する方法変更します。

解説

CSocketFileオブジェクトを構築します。関連付けをオブジェクトがスコープを出るか削除すると、オブジェクトのデストラクター自体、ソケット オブジェクトから解除します。

メモCArchiveオブジェクトを使用せず (限定) ファイルとして、 CSocketFileを使用することもできます。既定では、 CSocketFileコンス トラクターのbArchiveCompatibleパラメーターがTRUEです。これは、ファイル オブジェクトは、アーカイブに使用ことを指定します。ファイル オブジェクトがアーカイブなしを使用するには、 FALSEbArchiveCompatibleパラメーターで渡す。

その「アーカイブ互換」モードでは、 CSocketFileオブジェクトのパフォーマンスは向上し、「デッドロック」の危険性を低減デッドロックは、送信側と受信側の両方のソケット、または共通のリソースを待機しているときに発生します。このような状況はCArchiveオブジェクトとCSocketFile仕事をCFileオブジェクトには、方法場合に発生する可能性があります。それが要求より少ないバイトを受信した場合は、ファイルの末尾に達しているCFileに、アーカイブと仮定することができます。

CSocketFileと、ただし、データに基づいてメッセージです。要求されたバイト数未満の受信ファイルの終わりを意味しませんので、バッファーは複数のメッセージを含めることができます。アプリケーションこのケースではCFileに、可能性があり、バッファーが空になるまで、バッファーからメッセージを読んで続行するにはブロックしません。CArchive::IsBufferEmpty関数はこのような場合に、アーカイブのバッファーの状態を監視するために便利です。

CSocketFileの使用の詳細についてを参照してください Windows ソケット: アーカイブ付きソケットの使用 Windows ソケット: アーカイブを使用するソケットの例Visual の C++ プログラマのガイド

CSocketFile 概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CFile::CFile:read(&N)

Index