次の方法で共有


Windows ソケット : ソケット クラスからの派生

この技術情報では、ソケットのクラスの 1 つがから独自のクラスを派生することによって取得できる機能について説明します。

CAsyncSocketCSocket から追加するように機能を独自に Sockets クラスを派生させることができます。特に、これらのクラスには、オーバーライドできる一連の仮想メンバー関数を指定します。これらの関数は OnReceiveOnSendOnAcceptOnConnectOnCloseが含まれます。ネットワーク イベントが発生するか提供する通知を使用する場合は、派生 Sockets クラスの関数をオーバーライドできます。フレームワークは、読み始めることができるデータの受信などの重要なソケット イベントの通知するために、これらの通知コールバック関数をダイヤルします。通知関数に関する詳細については、 Windows ソケット: ソケットの通知を参照してください。

また、クラス CSocketOnMessagePending のメンバー関数 (高度なオーバーライド可能関数です)を指定します。MFC はソケットが Windows ベースのメッセージ ポンプを行っているときにこの関数を呼び出しますします。ウィンドウから特定のメッセージを検索し、それらに応答するに OnMessagePending をオーバーライドできます。

OnMessagePending の既定のバージョンは CSocket が完了するためにブロッキング呼び出しを待機している間 WM_PAINT のメッセージのメッセージ キューをチェックするクラスで指定します。これは、表示の品質を向上させるために描画メッセージをディスパッチします。に何らかの処理を行うこと以外に、これは、自分で関数をオーバーライドする可能性のある 1 とおりの方法について説明します。別の例として、次のタスクの OnMessagePending を使用してください。完了するためにネットワーク トランザクションを待機している間、モードレス ダイアログ ボックスを表示するとします。ダイアログ ボックスは非常に時間がかかるブロックしているトランザクションを取り消すためにユーザーが使用できる Cancel ボタンがあります。OnMessagePending のオーバーライドは、このモードレス ダイアログ ボックスに関連するメッセージをポンプする場合があります。

OnMessagePending のオーバーライドでは、呼び出しから OnMessagePendingの基本クラス バージョンへの TRUE または戻りを返します。は、まだする作業を実行する基本クラス バージョンを呼び出します。

詳細については、次のトピックを参照してください。

参照

概念

MFC における Windows ソケット