4

Gmailサーバーホストに接続するローカルOpenfireサーバーを介してAndroidにsmackを実装できてうれしく思いましたが、それは魅力のように機能しました。ここにあるチュートリアル

しかし、ローカルのOpenfireサーバーがインストールされているAndroidエミュレーターを介して2人のユーザーを接続しようとすると、エラーが発生します(以下に貼り付けられています)。

03-23 16:24:01.392: DEBUG/SMACK(233): 04:24:01 PM SENT (1155246128): <message id="t0tgA-5" to="justestingchat2" type="chat"><body>hi</body></message>
03-23 16:24:07.032: DEBUG/SMACK(233): 04:24:07 PM RCV  (1155246128): <message id="t0tgA-5" to="justestingchat@admin-pc/Smack" from="justestingchat2" type="error"><error code="404" type="cancel"><remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></message>
03-23 16:24:07.062: INFO/System.out(233): Received message: null

これが私のシステムレベルの説明の一部です:

  • Androidの2つのエミュレーターを介して、ユーザー名、電子メール、パスワードが異なる2人のユーザーを接続しようとしています。
  • 両方のユーザーがログインすると、Openfireのダッシュボードに「Presence-Available」と表示されますPresence presence = new Presence(Presence.Type.available);
  • 上に貼り付けたエラーコードから、メッセージIDは同じで、問題はないと思います。(私が間違っている場合は私を訂正してください)
  • Packet Listener上記のチュートリアルで提供されているコードを使用します
  • また、このコードを使用してメッセージを聞く際にチャットマネージャーを使用しようとしました が、使用しないと「Null」が返されました

誰かが実際に何が悪いのか私を助けてくれませんか?それがグーグルトークで動作することができれば、なぜローカルサーバーではないのですか?それともエミュレータを使用しているためでしょうか?

更新1:

問題がどこにあるかを見つけるために!Sparkクライアントをダウンロードしてテストを行いました。SparkからAndroidクライアントにパケット/メッセージを送信できるが、AndroidからSparkに送信できないことがわかりました。これにより、エラー404が発生します。誰かがまだ少なくともいくつかの手がかりを手伝ってくれますか?

4

1 に答える 1

17

Androidコードが間違っています。xmppドメインjustestingchat2を含まないJidにメッセージを送信しています。justestingchat2@admin-pcにメッセージを送信してみてください

于 2012-06-04T13:05:09.337 に答える