XEP-0114:JabberComponentProtocolを使用してXMPPサーバーコンポーネントを開発してみたいです。
どのサーバーをお勧めしますか、またその理由は何ですか?開発のしやすさ、コミュニティサポート、ドキュメント、例などについて話しています。
XEP-0114:JabberComponentProtocolを使用してXMPPサーバーコンポーネントを開発してみたいです。
どのサーバーをお勧めしますか、またその理由は何ですか?開発のしやすさ、コミュニティサポート、ドキュメント、例などについて話しています。
複数のXMPPプロジェクトや言語での開発に多くの開発者が関わっているとは思えないので、これは答えるのが難しい質問です。
私はいくつかの個人的な認識を捨てることができますが...私はオフベースになる可能性があります!
あなたが本当に探しているのは、コンポーネント開発にどのライブラリが推奨されるかということです。すべてのサーバーはコンポーネントプロトコルをサポートしているため、実際に必要なのは、サーバーへのソケット接続と、メッセージの解析などの反復的な処理を容易にするためのヘルパールーチンだけです。
サーバーが重要になる可能性があるのは、より緊密な統合が必要な場合です。
たとえば、コンポーネントをEjabberdと同じようにスケーリングする場合は、おそらくexmppを使用することをお勧めします。
コンポーネントをOpenfireと一緒にJavaのみのエンタープライズにデプロイする必要がある場合は、おそらくsmackを使用することをお勧めします。
Pythonに精通していて、すぐにプロトタイプを作成したい場合は、Wokkelを使用してください。
ドキュメントがどのライブラリにとっても素晴らしいものになるとは思いませんが(すべてを調べたわけではありません!)、それは大きな負担にはならないはずです。XMPPプロトコルがどのように機能するかについての優れた本と、ライブラリからのサンプルコードが本当に必要です。そこから先に進むのは、かなり簡単です。
使いやすいテストサーバーとして、私はopenfireが好きです。優れた手順、コンポーネントへの接続のしやすさ、および管理のための優れたWebインターフェイス。デバッグは、ログファイルの「tail -f」に近いもので、少しJavaっぽいものです。
私はXCPを専門的に使用しましたが、それは実際には商用利用です。それはうまく機能しますが、それがターゲットの展開でない場合は、努力する価値はありません。もう別途購入できるかわかりません。
ejabberdを使ってみたところ、すぐに諦めました。セットアップと管理のドキュメントがひどいことに気づきました。設定ファイルは自己記述的ではなく、ejabberdサイトをうまくウォークスルーすることはできません。朝食に朝に卵を揚げることさえできるかもしれませんが、私はそれに割り当てられた時間でインストールを通過することができませんでした。
Openfire には、サーバー コンポーネントを作成するための Java ライブラリであるWhackというものがあります (XEP-0114)。
通信はソケットを介して行われるため、適切に設計された XMPP サーバー (ejabberd など) で同じコードが機能するはずです。ただし、Openfire でテストしただけで、非常にうまく機能します。