私はphpベースのウェブサイトを開発しています。Facebookチャットを実装したいです。
私の質問は、BOSHでXMPPをどのように使用できるかということです。XMPPとBOSHの関係は何ですか。
JAXLやstrophe.jsなどのライブラリを使用してFacebookチャットを実装する方法を理解するためのサンプルソースコードはありますか
私の質問は、BOSHでXMPPをどのように使用できるかということです。XMPPとBOSHの関係は何ですか。
BOSHは、httpを介した双方向ストリームの略です。これは、HTTPを介してXMPPを実行するために設計された仕様ですが、httpを介して基盤となるtcpレベルのプロトコルを実行するために使用できます。
BOSHは基本的にブラウザの制限内で再生されます。つまり、特定のドメインに対して一度に2つを超えるリクエストを行うことはできません。そして、これらの制限内で、BOSHはサーバーとクライアント間の本格的な双方向パイプをエミュレートすることができます。ペイロードは、この仮想パイプを使用して送信でき、ユーザーエクスペリエンスに関しては、リアルタイムと同じくらい優れています。
従来、BOSHは、ロングポーリングと呼ばれる手法を使用してエミュレートされます。ただし、jsonpとwebsockets(利用可能な場合)を使用して同じことを正常に実行できました。
JAXLやstrophe.jsなどのライブラリを使用してFacebookチャットを実装する方法を理解するためのサンプルソースコードはありますか
strophe.jsを使用したWebチャットアプリケーションのサンプル例は十分にあると思います。必要なのは、punjabやebosh(私が書いたもの)のようなbosh接続マネージャーで、任意のxmpp /jabberc2sエンドポイントに接続できます。
JAXLのサンプル例に関する限り、直接使用できるものがいくつかあります。https ://github.com/abhinavsingh/JAXL/tree/master/app具体的にboshchat.php、boshMUCchat.php、preFetchBOSH.phpの例を見てください。これは、JaxlライブラリのBOSH側のサポートを示しています。
これらの例は、中程度のトラフィックが予想される場合に使用できます。トラフィックの多いアプリケーションの場合は、strophe.jsベースのソリューションを使用することを強くお勧めします。