2011-01-07 11 views
0

PHPとXMPPでWebアプリケーションを作成しようとしています。要件の1つは、ブラウザのJavascriptクライアントがXMPPを介してサーバーにイベントを送信すると、PHPが動作してその要求を処理することです。ご存じのように、XMPPは、クライアントがさまざまな種類のイベントを「聴いて」、適切なイベントを見つけたら人生に飛び込むことを可能にします。もちろん、PHPはHTTPリクエストの期間だけ生きているので、私の研究によると、PHP XMPPクライアントは「一方向」に過ぎません。つまり、イベントを生成し、それをリッスンして消費することができません。PHPとXMPPの両方の方法

私の専門家の質問は: 1.私の研究は正しいですか? PHP/XMPPは一方向のみですか? 2. PHPでこの問題を回避する方法はありますか? 3. Ruby on Railsは同じ問題を抱えているのですか、それともXMPPと「双方向」に対応していますか?

ありがとう、私はこれに助けていただきありがとうございます!

乾杯

答えて

1

あなたが問題になると思われる、XMPPサーバーとしてPHPを使用しようとしているように聞こえます。おそらくRailsで実行可能ですが、理想的ではありません。

ejabberdのような多くのオープンソースXMPPプラットフォームの1つを見てみる価値があります。

+0

他にもありますが、私はopenfireを使用しました。 http://www.igniterealtime.org/projects/openfire/ – kenny

0

「PHP/XMPPを使用した1つの方法」という意味が正確に理解できませんでした。しかし、私の経験から、あなたのブラウザクライアントがある種のxmpp javascriptライブラリを使用するPHP + XMPPの組み合わせで作業することを選択した場合、これまでどおり何の制限もありません。ここで

は、流れがPHP/XMPPのセットアップになりますどのように一般的である:

  1. ブラウザは、Webサーバー上のAjaxの世論調査
  2. PHPスクリプトはこのAjaxの世論調査
  3. 内部的にPHPスクリプトの会談を送受信しますboshエンドポイント
  4. PHPスクリプトは、タイムアウトが発生するまでサーバーからの応答を待機します
  5. 応答またはタイムアウト時にboshエンドポイントからブラウザクライアントに応答を返します

このフローでは、PHPスクリプトは、ブラウザとジャバーサーバの間の接続マネージャのように機能します。実際、トラフィックが多い状況では、この方法論は推奨されません。なぜなら、すぐにWebサーバーがboshエンドポイントからの応答を待っているPHPスクリプトのために、新しいajax投票を受け入れなくなるからです。

上記のフローiとまったく同じフローを示すJaxl libraryboshchat.phpサンプルの例を試すことができます。

関連する問題