• 締切済み

WINSOCKでTCPのステータスを調べたい

通信異常が発生するのでwiresharkでパケットモニタするとRetransmissionが発生していました。 そのデータには肯定応答コマンドとモニタコマンドが重複して送信されていました。単純に考えるとRetransmissionのパケットデータはそのままKEEPされてモニタコマンドのパケットとは区別されるような気がするんですが・・・。 そこでTCPが再送状態にあるならば上位からは新たなコマンドを出さないように修正したいと考えていますがいろいろ調べてもステータス取得出来るような物が見つかりません。 ご教授願います。

みんなの回答

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

本当にTCPの再送が原因ですか? TCPを使用するアプリケーションからは再送は見えない(気にしなくていい)ハズですが…… # TCPはそういうプロトコル…かと。 再送が繰り返された為にアプリ側でタイムアウト処理が走った…とか、そういうことはありませんか? # または、再送繰り返している間にエラーで切断されてしまったとか。

je2cco
質問者

お礼

Wr5さん遅くなってすみません。 TCPのシーケンス番号等が同じ再送になっています。 アプリ側は、モニタコマンド要求ー>ドライバがコマンド送信ー>受信解釈ー>肯定応答ー>アプリに戻る ような流れでネット上に他のPCからのUDP問い合わせ等が入るとたまに再送が発生します。 相手のウィンドウサイズ750バイトとが小さいからなのでしょうか?

je2cco
質問者

補足

SENDの送信サイズをByte数にお応じて変更する方法で逃げることにしました

関連するQ&A