掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WinsockのDataArrivalイベントのについて (ID:125748)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
初めまして。 Winsockコントロールを使用した通信プログラムを作成中に 問題にぶち当たりましたので質問させていただきます。 DataArrivalイベントにてGetDataメソッドを呼び出し、DataArrival イベントの引数TotalLength分だけDataを取得しています。 Client側から連続送信をした時(例えば3MSG)にサーバー側で取得した データが2MSGになってしまいました。 ログを取ってMSGの中身を確認したところ、2MSG目と3MSG目がくっ付いて 取得されていた為に計2MSGになっている事がわかりました。 (MSG:1,2,3 が MSG:1,2+3) 出来れば一回のDataArrivalイベントで1MSGを受信したいのですが、 何か良い方法ってありますでしょうか・・・?(漠然とした質問かも) 1MSGが分割されて届いちゃう事は良くあるけど、SendDataメソッドを 3回呼び出してMSGを送信してるのに、Socket通信中にくっ付いちゃう なんて・・・TCP/IPの特性?? GetDataメソッドの引数MaxLenで1MSG分取得にすると残りのMSGが失われ てしまうのでそれは避けたいです。 いろいろ検索したのですが、上記の解決策を見つけることが出来ませんでした。 どなたか同じ現象を経験された方いませんでしょうか。 環境はVB6.0WinXPです。 宜しくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.