JMSで非常に奇妙な問題が発生しています。
A-Windows、B-Linuxの2台のマシンがあります。 マシン Aは JMS を初期化します (1 つのプロデューサーと 1 つのコンシューマーを作成します)。( Java コード)
マシン Bがマシン Aにメッセージを送信します。マシンAが受け取ります!メッセージを送信し、マシン Bに応答を返します。( C++ コード)
私の問題はこれです:マシンAコードを実行すると、すべて正常に動作します! . しかし、別の Windows マシン (マシン Cと呼びましょう) で同じバイナリを実行すると、マシン Bからのメッセージは受け入れられますが、マシン Cは応答を送信しません。
ネットワークをスニッフィングしたところ、マシン A の場合、 TCP-ACKに続いてTCP PSH- ACK が送信されることがわかりました(正しい応答で)。しかし、マシン CはTCP-PSH-ACKなしで* TCP-ACKのみを送信します。
編集: JConsole を使用して、マシン Cの out トピック属性: DequeueCount、DispatchCount、Enqueue Count がすべてゼロであることに気付きました。プロデューサーが何も送信/エンキューしていないようです (例外はスローされません)。
どんな助けでも大歓迎です!