クライアント アプリケーションからの TCP 接続を受け入れる C++ アプリケーションがあります。
正常に動作しているように見えるランダムな時間 (数日) の後、クライアントからのフォローアップ メッセージの受信を停止し、各 TCP 接続で最初のメッセージのみを確認します。再起動後、すべてが再び正常になります。
問題は、これが停止するとすぐに再起動する必要がある運用サーバーでのみ発生し、ラボ マシンでこれを再現することができなかったことです。ログファイルに表示されるエラーを返すソケット操作はないようで、アプリケーションが巨大であるため、関連する部分をここに投稿することはできません。
最初のメッセージは常に受信され続け、しばらくすると後続のメッセージのみが受信されなくなります。私のアプリケーションがフォローアップ メッセージの受信を停止した場合でも、Wireshark でそれらが入ってくるのを見ることができます。
何が起こっているのかを知る方法はありますか? 何を探すべきですか?