したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

「C#、VB2005 でSocket通信」について

14igoten:2009/04/25(土) 11:07:58
 説明を原文で読むことは良いことですね。(^^
callback method executes in a separate thread and is called by the system after BeginRead retuns
「コールバックメソドは別のスレッドで実行され、BeginReadが戻った時に呼ばれます。」と言うことですね。
クライアントから接続要求があると、メインフォームは新しいClientHandlerのクラスのインスタンスを
作成して、StartRead()を実行する、StartRead()の中身はnetworkStream.BeginRead()でこの処理は
別スレッドで行われ、終了時には引数で渡したcallbackReadが呼ばれる。
callbackReadはClientHandlerクラスのコンストラクタで作成した下のメソドである。
callbackRead = new AsyncCallback(this.OnReadComplete)
>サイトの図ではコールバックをサーバー用スレッド上に書かれてましたが、
図はすべてサーバー上のスレッドです。
概念図に突っ込まれるとちょっとドキドキしますが、この場合は特に不具合は無いと思います。
>非同期IO用のスレッドはbeginreadのところで止まって、
これはその通りです。
>コールバックはさらに別スレッドで動いているようです。
この意味がわかりません。
>コールバック用スレッドはbeginreadの呼び出しが完了した
>時点で別スレッドで動きだすということではないでしょうか。
すみませんこの意味もわかりません。
>OnReadCompleteというメソッド名はよくないのではないでしょうか
名前ですか^^; 結構適当です、ただしこのOnReadComplete名ですが、最後に書きましたがオライリー・ジャパンの
「プログラミング C#」と同じ名前にしてます、私にはこんな名前を付けるセンスはありません。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板