私はIMを作成しており、標準にないいくつかの機能を実装したいと思っています。いくつかのカスタム機能が必要です。
私はGoogleのXMPPサービス(Googleトーク)を使用して、サーバーと話すことができるようにデフォルトの機能を実装したカスタムIMクライアントを作成することができますか? Googleのサーバーが動作し、このXMLを解釈して適切なことを行うことができる他のクライアントにメッセージを送信するXML?
この機能をサーバーに実装する必要はありますか?例えばOpenfireはプラグインをサポートしていますが、プラグインでそれを拡張することはできますが、私は自分のサーバーを作ってGoogleアカウントとサーバーを使うのをやめたいと思っています。私は単なる学生であり、自分自身でサーバーを維持するためのリソースがありません。
また、「Jabber Component Protocol」が使用されているかどうかはわかりません。私が読んだことから、私の問題は解決できるが、サーバ上になければならないことを理解している。これはXMPPサーバーにはありませんが、サーバーとしても機能し、XMPPサーバーに接続する必要があります。
私は "Jabber Component Protocol"をGoogleのXMPPサーバーで使用できないと思いますか?XMPP/Jabber:カスタムメッセージの場合、クライアントまたはサーバーを変更する必要がありますか?
5
A
答えて
5
私はあなたの質問を正しく理解している場合、受信側クライアントだけが解釈しなければならない余分なペイロードをメッセージに追加したいだけです。したがって、クライアントAからクライアントBへのルーターとしてのみXMPPサーバーが必要です。これは、Googleトークサーバーや他のサーバーと組み合わせても機能します。この拡張性は、XMPPの基本機能の1つです。
Openfireプラグインとコンポーネントプロトコルは、他の用途に使用します。ここで
は、カスタムペイロードを追加する方法の例です:
だから、のようなもの:
<message to="[email protected]">
<mytag xmlns="mycompany.com/mynamespace"/>
</message>
または
<message to="[email protected]">
<mytag xmlns="urn:xmpp:mynamespace:v1"/>
</message>
関連する問題
- 1. VBOを変更する必要がある場合、VAOを再構築する必要はありますか?
- 2. マークダウンパーサーをクライアント側またはサーバー側にする必要があります
- 3. Playを統合する場合は、私のAkkaプロジェクトレイアウトを変更する必要がありますか?
- 4. テストコントローラファイルのルートを変更したい場合は、他のファイルを編集する必要がありますか?
- 5. Twitter API要求をサーバーまたはクライアントから送信する必要がありますか?
- 6. app.configを変更した場合は、Windowsサービスを再起動する必要がありますか?
- 7. ネイティブフレームワークが変更された場合、バインディングを再作成する必要がありますか?
- 8. 他の内部クラスを変更した場合、内部クラスをコンパイルする必要はありますか?
- 9. ++ varを使用する必要がある場合はありますか?
- 10. 私はコンピュータを変更する場合、私はエンティティのconnectionString、または他のconnectionStringsを変更する必要がありますか?
- 11. プログラムカウンタは常に変更する必要がありますか?
- 12. Stringのプロトタイプを変更する必要がありますか?
- 13. デフォルトのデータベースプレフィックスを変更する必要がありますか?
- 14. asp.net website - 文字列の操作は、サーバーまたはクライアント上で発生する必要がありますか?
- 15. クライアントが毎回要件を変更し続ける場合は、どのようなテスト方法を実行する必要がありますか?
- 16. コードを変更した場合、Windowsサービスを再インストールする必要はありますか?
- 17. スピナーから選択した値を保存するには、デバイスの言語が変更された場合に変更する必要がありますか?
- 18. URLがmで始まる場合、ブラウザ自体のサイズを変更する必要があります。(ウェブサイト).com
- 19. iOSアプリの場合は、クライアント側またはサーバー側をハッシュする必要があります。なぜですか?
- 20. 私のスクリプトはsvnサーバーを更新する必要がありますか?
- 21. ホストでcronジョブを使用する場合、カールファイルのパスを変更する必要がありますか?
- 22. Eclipseがある場合はJava SDKをインストールする必要があります
- 23. 抽選を変更する必要がありますか?
- 24. JSONP、JSONファイルを変更する必要がありますか?
- 25. your.package.namespace - 何を変更する必要がありますか?
- 26. アクセスする必要がありますクライアントIPは天気APIのサーバーIPではありません
- 27. どのような場合にクライアントをより正確なURIにリダイレクトする必要がありますか
- 28. テキストフィールドの値が手動またはプログラムによって変更された場合に、変更イベントを発生させる必要がありますか?
- 29. 私のIOSアプリケーションがIPV6をサポートする場合、共有ライブラリ(.so)を変更する必要があります
- 30. Javascriptドロップダウンボタンが選択されている場合、テキストボックスは色を変更する必要があります
"この拡張は、XMPPの基本機能の一つです" - 特定のXMLタグを使用する必要があるので、サーバーは自分のメッセージが壊れていないと見なしたり、必要に応じてXMLタグを使用できます。 –
私はこの質問から理解するhttp://stackoverflow.com/questions/12475122/adding-custom-attributes-in-message-tag-in-xmpp-packet-using-asmack-for-androidカスタムタグ内に 、右? –
あなた自身の名前空間を使用しても問題ありません。だから、のようなもの: <メッセージへ= "[email protected]"> または <メッセージ= "ユーザーに@ server.com "> –
Alex