4

https://github.com/robbiehanson/XMPPFramework/wikiに精通している人を見つけたいと思っています

私のアプリケーションは、アプリケーションを実行している他の電話とiChatの間でメッセージを送受信します。ラックスペースにインストールされたeJabberdを使用しています。

問題は、自分の電話でオフラインの電話にメッセージを送信した場合、ユーザーがアプリケーションでオンラインになったときにメッセージを受信しないことです(iChatでもメッセージはキューに入れられません)。

ただし、iChatを介してメッセージを送信し、電話でアプリケーションにログインすると、メッセージは問題なく届きます。

何らかの理由で、上記のXMPPFrameworkを使用してメッセージを送信する方法が、サーバーのキューイング機能をトリガーしていないように見えます。私はここの仕様に従って、これとまったく同じように見えるメッセージを送信しました(異なるユーザー名で)

    message from='romeo@montague.net/orchard' to='juliet@capulet.com'>
  <body>
    O blessed, blessed night! I am afeard.
    Being in night, all this is but a dream,
    Too flattering-sweet to be substantial.
  </body>
</message>

残念ながら、同じ結果になります。私はiChatの発信XMLがどのように見えるかを表示する方法を見つけようとしてきましたが、役に立ちませんでした。うまくいけば、以前にこの問題に遭遇したことがある誰かがそこにいます。

4

1 に答える 1

3

オフライン メッセージはサーバーの責任です。オフライン メッセージの処理方法については、 XEP-0160: Best Practices for Handling Offline Messagesで説明されています。

クライアント側では、「通常」または「チャット」のタイプのメッセージ スタンザを送信していることを確認する必要があります。

また、eJabberd でオフライン メッセージ ストレージが有効になっていることを確認する必要があります。

于 2012-02-14T23:09:56.267 に答える