掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WinsockのDataArrivalイベントのについて (ID:125749)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
その通信仕様でクライアント側は1つのメッセージを送信したあと 〜秒以上の間隔をあけて次のメッセージを送信しなければならない とされているならクライアント側の通信手順違反になるでしょうけど そうなっていないなら、複数のメッセージを続けて送信しても 良いはずです。 それを処理できないサーバー側の問題です。 で、案としてはモジュールレベルのグローバル変数に受信した メッセージをどんどん放り込んで、その中で処理をした分だけ バッファから取り去っていくというような方法でできるんじゃ ないでしょうか。 (1)データ受信(例えばMSG1,MSG2,MSG3の途中まで受信) ↓ (2)受信バッファに受信したデータを追加 ↓ (3)受信バッファを調べ最初のメッセージを取り出す ↓ (4)メッセージが無いOr受信が完了していない場合は処理を抜ける ↓ (5)メッセージに対する処理を行い、受信バッファより処理したメッセージを削除する ↓ (6)(3)へ戻る といった感じでしょうか。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.