1

サービスのチャット サーバーとして openfire を使用しています。対話者がチャットでメッセージの入力を開始または停止したときに、ユーザーに通知する必要があります。

カスタム メッセージ タイプ notifications_chat を追加し、本文ありまたは本文なしでメッセージを送信します。

ユーザーが入力を開始すると:

<message id="SD4Vy-8" to="682@server.com" type="notification_chat"><composing xmlns="http://jabber.org/protocol/chatstates"/></message>

ユーザーが入力をやめたとき:

<message id="SD4Vy-9" to="682@server.com" type="notification_chat"><paused xmlns="http://jabber.org/protocol/chatstates"/></message>

しかし、このパケットを送信した後、オープンファイアは接続を閉じます! このメッセージが受信者に配信されたにもかかわらず、タイプとエクストラで処理できます。

この場合、なぜ openfire が私を蹴るのですか?

4

1 に答える 1

5

XMPP 仕様に違反しているため、キックされます。メッセージに新しいタイプを追加することは許可されていません。RFC で定義されているタイプ (ノーマル、チャット、グループチャット、ヘッドライン、エラー) のみを使用できます。カスタム情報が必要な場合は、独自の名前空間に独自のタグをメッセージに追加します。

例:

<message>
   <x xmlns="http://www.mycompany.com/extension1">
     <messagetype>notification_chat</messagetype>
   </x>
</message>
于 2013-04-02T07:12:31.113 に答える