コンピューターに openfire サーバーをインストールしました (名前: duong2179-pc、静的パブリック IP: 20x.25x.xxx.xxx)。また、Spark をインストールし、test1 と test2 の 2 つのアカウントを登録しました。Smack を使用して小さなデスクトップ Java アプリケーションを開発しました。
Spark で test1 にログインし、アプリケーションで test2 にログインしました。どちらのアカウントも test@20x.25x.xxx.xxx の形式でログインしましたが、問題が発生しました: test1 (Spark の) は test2 (Java アプリケーション) にメッセージを送信できますが、test2 は返送できません。問題の原因は次のとおりです。
sendMessage(message, "test1@20x.25x.xxx.xxx);
など、少し変えてみました
sendMessage(message, "test1@duong2179-pc");
それはうまくいきました。
では、ここでの違いは何ですか?
Spark にログインしたとき、サーバーを duong2179-pc ではなく 20x.25x.xxx.xxx として使用したことに注意してください。