Ruby で書かれた Web ベースのチャット アプリを作成中です。XMPP クライアントを使用して、このチャット サーバーにも接続できるようにしたいと考えています。そのため、既存の Ruby コード (または間に Redis のようなものを使用) と結び付けることができる実際の XMPP サーバーであることを処理するライブラリを探しています。ただし、サーバー ライブラリを見つけるのに苦労しています (ただし、サーバーを使用または対話するクライアントとして機能するための多くのライブラリを見つけることができます)。また、そもそも XMPP の経験があまりないので、間違ったことを求めている可能性があります。私が使用できる XMPP サーバー ライブラリを知っていますか?
2 に答える
XMPP サーバー (たとえば、HTTP サーバーなど) は個別のスタンドアロンの長期プロセスとして実行されるため、XMPP サーバー ライブラリは一般的にあまり意味がありません。通常、それらをアプリケーションに埋め込むことはありません。
XMPP は、HTTP からさらに一歩進んだものです。ポートをリッスンし、要求を待機し、応答を送信できる HTTP サーバー ライブラリがあります。XMPP はこの点で完全に異なります。XMPP セッションは存続期間が長く、常に注意を払う必要があります。XMPP サーバー ライブラリを使用すると、アプリケーションはそのライブラリ内でほとんどの時間を費やすことになります。
魅力的なアイデアであることは承知していますが、XMPP サーバーを開発し、これについて考えてみたところ (以前にも要求がありました)、ほとんど意味がないと結論付けました (たとえそれが技術的に可能であったとしても)。
多くの XMPP サーバーでは、他のシステムと統合するためのカスタム プラグインを使用できます。必要な場合は、Ruby にサーバーがあります (例: Vines )。
XMPP4R を試す
例 - 接続と認証:
require "xmpp4r"
robot = Jabber::Client::new(Jabber::JID::new("sample@xmpp.ru"))
robot.connect
robot.auth("password")
そして送信メッセージ:
message = Jabber::Message::new("recipient@xmpp.ru", "Hi there!")
message.set_type(:chat)
robot.send message
ただし、このライブラリは Windows ではやや不安定ですが、Linux では優れています。
XMPP4R を使用した Ruby での XMPP サーバー実装もあります - http://code.google.com/p/xmpp-rserve/
編集
多分これはあなたが望むものです。サーバーでの使用に適したライブラリのように見えます - https://github.com/sprsquish/blather
XMPP 公式ページで見つけました - http://xmpp.org/xmpp-software/libraries/