RabbitMQ サーバーにメッセージを送信してから受信する単純な RabbitMQ テスト プログラムがあります。私は 2 台のコンピューターを持っていますが、コードが機能するかどうかは、RabbitMQ サーバーをホストするコンピューターによって異なることがわかりました。これが私の状況です(私のMSペイントを許してください):
- コンピューター A がサーバーをホストし、コードを実行して、A から A にメッセージを送信すると、動作します。
- コンピューター A がサーバーをホストし、私のコードがコンピューター B で実行され、B から A にメッセージを送信すると、機能します。
- コンピューター B がサーバーをホストし、私のコードがコンピューター A で実行され、A から B にメッセージを送信すると、「指定されたエンドポイントのいずれにも到達できませんでした」という例外が発生します。
- コンピューター B がサーバーをホストし、コードを実行して、B から B にメッセージを送信すると、動作します。
シナリオ 3 がうまくいかない理由がわかりません。
- 私のシナリオの 3 つは期待どおりに動作するため、コードではないと思います。
- 両方のコンピューターでファイアウォールをオフにしてこれらのテストを実行したため、ファイアウォールの問題ではないと思います。
- コンピューター B の RabbitMQ サーバーは問題なく通信できるため、問題ではないと思います (シナリオ #4)。
- シナリオ 3 を試した後、コンピューター B の RabbitMQ ログ ファイルを確認しましたが、試行された接続について何かを示すものは何も表示されません。リクエストを送信するときに、コンピューター A がコンピューター B を認識できないだけだと思います。
私の質問は、非常に一般的ですが、私の問題を指摘する可能性のあるものを探す必要があるのは何ですか? コンピューター A ではチェックされているが、コンピューター B ではチェックされていない設定が必要です。コンピューター B には、Erlang と RabbitMQ がデフォルトでインストールされています。コンピューター A もデフォルトに設定されていると確信しています (最近はインストールしていません)。
助けてください。