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

VB2005のSocket通信の複数クライアントの非同期処理

6ひろ4932:2011/02/12(土) 15:13:19
ご回答有難うございます。

>OnReadCompleteで全てのデーターを読み込んで、bufferの読み込み位置を
>0にクリアーする為に
>networkStream.BeginRead(buffer, 0, buffer.Length,callbackRead, null);
>を入れています。

OnReadCompleteの最後にBeginReadをしている理由がわかりました。

>何故なら私のプログラムは送信はボタンで任意の時にデーターを送る
>仕様になっています。
>従って、データー受信中に送信のボタンを押すと、読み込みバッファが
>クリアされて途中からデーターを格納しはじめてしまいます。
受信中の送信動作が可能(受信と送信が非同期)な仕様ということですね。
私も仕様を理解していませんでした。
実は、受信と送信がぶつかったときは通信エラーになると思っていたものですから。
それと異常時の受信データの件ですが、
途中からデーターを格納しはじめるというとそうなんですが、
単純に受信バッファの先頭から途中データが入っているという
わけではないのですが、その辺は送受信のタイミングによって
どういう挙動をするかは不明なのでそうなるのかもしれません。

どうも有難うございました。
又、何かありましたら宜しくお願いします。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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