WebSocketを使用し、ブラウザーで実行することを目的としたオープンソースのXMPPライブラリを作成した人はいますか?
サーバーが実装できるXMPPover WebSockets の標準はまだありません。これは、クライアント側が適切に取り組む前に必要になります。
最初のステップは、WebSocketの標準化を完了することです。これは、執筆時点ではまだIESGによって承認されていないIETFHyBiワーキンググループで発生する可能性があるようです。数週間前の広島IETF会議でHyBiBirds-of-a-Feather(BoF)があり( 会議資料 を参照)、かなりうまくいきました。
WebSocketsが安定した参照を持ち、落ち着いているように見えた後、 [〜#〜] xsf [〜#〜] は [〜#〜] xep [〜#〜 ] XMPPをWebSocketにバインドします。おそらく、WebSocketフレームごとにスタンザがあります。
編集:Jack Moffittは、使用可能なプロトコルで最初のパスを使用してIETF Internet-Draft を作成しました。 [〜#〜]警告[〜#〜]。これはまだ大幅に変わる可能性があります。後で完全に取り除こうとする場合にのみ実装してください。 [〜#〜]警告[〜#〜]。
複数の解決策があります(どれも完璧ではありません)
彼らはすでにそれをサポートしています。オープンソースですが、なんらかの デュアルライセンス なので、プロジェクトに使えるかどうかを確認したほうがいいです。
APEはCometフレームワークですが、最近Websocketのサポートを開始しました。彼らのウェブサイト(「プロキシとしてのAPE」セクション)では、xmpp.jsを含むjs.ioライブラリを実行できると言っているので、それらを組み合わせるとうまくいく可能性があります。
これは、APEに似たJavaベースのフレームワークであり、ワンストップショップのCometソリューションを提供し、XMPPとWebSocketの両方をサポートしているようです。
StropheはBOSH(Bidirection-streams Over Synchronous HTTP)を介してXMPPを実行しますが、 WebSocketのサポートに関する議論 もあります。
Jack Moffitt(コア開発者で上記の本の著者)はWebSocketに興味を持っているようですが、BOSHを介してWebSocketをサポートする必要がある理由についてより強力な理由を提供する必要があります。良い答えがあれば、トレッドに参加してください。
私はちょうど彼らの xmpp、bosh、strophe echobot example を試しましたが、これはうまく機能しました。また、要件に合っているかどうかを確認するために試してみることもできます。
#2と#3については、どちらもxmppとwebsocketをサポートしていると言われていますが、連携して機能するかどうかはわかりません。
XMPPとWebSocketの使用を検討しているアプリケーションの種類は何ですか?
以下は代替案の提案です。
私が書いたときに上記の情報のほとんどを手に入れました このブログ投稿 。コメントセクションを時々チェックする場合は、他の解決策が見つかったら更新を投稿します。
このトピックをカバーする本がまもなく出版されます...
JavaScriptとjQueryを使用したプロフェッショナルXMPP代替テキストhttp://ecx.images-Amazon.com/images/I/51B7VAHw8OL._SL500_AA240_.jpg
しかし、私はあなたがその本を待ちたくないと思っていると思います。だから見てください JSConfからのジャックモフィットのプレゼンテーション 。今朝見ました。 (Jack Moffittは、上記にリンクされている本の著者です。)
関連するライブラリ(JavaScriptおよびCの実装)は Strophe です。
これは非常に実り多い探検エリアですが、非常に生々しいものです。すぐにわかります。 WebSocketにはHTML5が付属していますよね?
JSJaC 実装 XMPP Over Websockets 。いくつかのバックエンド実装で動作することが知られています。
XMPPサーバーが最初にこれをサポートする必要があるため、なぜWebSocketソリューションを特に求めているのかわかりません。
ただし、利用可能なXMPP JavaScriptライブラリがいくつかあります(私が見る限り、それらはすべてBOSHメソッドを使用しています)。
これらの例は、XMPPプロトコルのオープンソース実装をリストしている XMPP Webサイト から抜粋したものです。
ブラウザ側のJSは、ほとんどがブラウザAPIに依存しているため、WebSocketプロトコルのみを処理できるかどうかはわかりません。まだWebSocketをサポートしているブラウザはほとんどありません:Chrome、Safari5、おそらくFirefox4。 flash/as3に基づく多くの回避策があります(その後、jsはフラッシュコードと通信します)主な制限は、フラッシュが安全な接続をサポートしていないことです(あまりにも悪いです)。
BWT、チェックできます このwebsocket implem オープンソースを提供しますJava websocketクライアントライブラリとxmppのものを扱っているようです。リポジトリを参照すると、基本的なas3websocketが見つかる可能性があります実装。