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が発生します。誰かがまだ少なくともいくつかの手がかりを手伝ってくれますか?