訪問者との簡単なリアルタイム通信

私は長い間、リアルタイムでウェブに興味を持っています。 現在、このためのライブラリはすでに多数あります。 このトピックでは、外部サービスPusher.comを使用して、最近テストした最も簡単な方法についてお話します。



今日、サーバーに非同期でメッセージを送信することが可能な限り単純な場合、逆転送では、すべてがそれほどバラ色ではありません。 サービスはこのタスクを引き受けます。





すべてが非常に簡単に機能します。 プッシャーのJavaScriptがページに挿入され、プッシャーのサーバーへの接続が開かれ、何らかのチャネルでメッセージがサブスクライブされます。 メッセージを送信する場合は、プッシャーAPIを呼び出してチャネルにメッセージを送信します。 チャンネルをサブスクライブするすべてのユーザーが受信します。

したがって、適切なすべてのユーザーにオンラインで大量のメッセージを送信することは非常に簡単です。 これにより、チャットを非常に簡単に作成できます。ページにプッシャーを挿入するだけで、サーバー上のスクリプトはPOSTによってメッセージを受信し、プッシャーAPIを「プル」し、プッシャーAPIはWebソケット経由ですべてのクライアントに送信します。 同様に、共同グラフィックエディタなど、より複雑なこともできます 。すべてはドキュメントにあります



私自身は、数か月前にチャットとオンラインをプッシャーに切り替えたため、いくつかの問題を一度に解決できました。

-メッセージ配信を大幅に加速

-ユーザートラフィックの削減

-サーバーの負荷を軽減-メッセージのみを受信し、ユーザーはユーザーへのメール送信に従事

-システムのスケーラビリティの改善



先に進むと、ユーザーが問題に遭遇するかどうかについていくつかの疑問がありました。 さまざまなブラウザーがどの程度サポートされるか。 恐怖は無駄でした-プッシャーはWebSocketsを使用し、それらが利用できないとき(たとえば、古代のIEの非ブラウザー)、Flash Socketsを介した古き良きエミュレーションは、まさにWebソケットでのモデルチャットで使用したものです。 練習により、これで十分であることが示されました。 ロングポーリング、マルチパートなどを複雑化および劣化させる必要はありません。



最近、別のより複雑なプロジェクトで使用することにしました。

興味深い場合は、実装方法を詳しく説明します。



まとめると


長所:

-サイトへの接続が非常に簡単-PHPとPythonに既製のものがあります

-あなたの言語用の既製のライブラリがない場合、シンプルなAPIを使用できます。これにはcurl`aで十分です

-スケーリングの問題を取り除きます-プッシャーはAmazonサーバーでホストされます



短所:

-有料



All Articles