私は、Windows7でブロッキングソケットを使用してC++で実装されたクライアントサーバーアーキテクチャを使用しています。すべてが特定のレベルの負荷まで正常に実行されています。メガバイトのデータを送受信するクライアントが2つ(たとえば> 4)ある場合、1つのクライアントとの通信が約5秒間フリーズすることがあります。その場合、他のすべてのクライアントは期待どおりに機能しています。
バッファサイズは8192バイトで、サーバー側のログは次のようになります。
TimeStamp(s.ms)-受信したバイト
…</p>
1299514524.618-8192
1299514524.618-8192
1299514524.618-0004
1299514529.641-8192
1299514529.641-3744
1299514529.641-1460
1299514529.641-1460
1299514529.641-8192
…</p>
その5秒以内に読み取ることができるのは4バイトだけのようです。さらに、凍結時間は常に約5秒であることがわかりました。4秒以下、6秒以上になることはありません...
何か案は?
よろしくお願いします
マイケル