ネッティーのWebSocketのソリューション

すべてに沿って、そのような「プッシュ」や彗星のように、新しいデータがサーバーはすぐにクライアントに幅広いプログラムをデータを送信し解決することがあります。

彗星を達成するための2つの方法があります:httpストリームの長いポーリングと
ロングポーリングレプリカが短いポーリングがされ、ポーリングモードは短いです:データが更新されていないかどうかを確認するために、サーバへのページ要求を送信するタイミング。
そして、ロングポーリングモードは、サーバへのページ要求を開始することで、サーバは、データを知るために送信することができるオープンなTCP接続のまま。データが送信された後、接続が閉じられたページであり、そしてプロセスで新しいサイクルを開始するようにサーバに要求します。
ショートとロングポーリングがポーリングしているの区別、新しいデータが到着する前に応答を短いポーリング即時応答を要求するサーバー、および長いポーリングサーバが待機するためのページへのリアルタイムサーバプッシュを実現し、要求されたページを軽減:番号。
2回のポーリングHTTPストリームとは違って、それはつまり、ブラウザとサーバーにページを送信するための要求の具体的な利用がオープンTCP接続のまま、ライフサイクルを通じてのみページでHTTP接続を使用して、ブラウザにデータを送信し続けるので、 。
彗星は、Ajaxを使用して。この技術は双方向通信を実現するが、それでもだけでなく、彗星で、要求を発行する必要ができますが、帯域幅とサーバーリソースを大量につながることができます長い接続の普及は、占有されています。

最も一般的なものは、長いポーリングと呼ばれているような錯覚を作成するために、サーバーへの接続を開始することです。応答が送信されるまで、サーバーへのHTTP接続ポイントを開くことができ、長いポーリングクライアントを使用して、サーバーは常にオープンな接続を維持します。実際に新しいサーバー値のデータを持っているために、それが応答を送信します。
低レイテンシのアプリケーションには適さないHTTPプロトコルリードのオーバーヘッドのために:しかし、これらのソリューションは、共通の問題を抱えています。
HTTPプロトコルの主な欠点は以下のとおり

  • HTTPプロトコルは半二重プロトコルです。半二重プロトコルを指し、データが両方向で、クライアントとサーバー上で送信することができますが、同時に送信することはできません。それは同時に、データが一方向にのみ転送することを意味します。
  • HTTPメッセージが長いと面倒です。HTTPメッセージは、他のバイナリ通信長いプロトコル、および面倒に比べて、一般的にテキストモード伝送におけるメッセージヘッダ、メッセージ本体、改行などを含んでいます。
  • ハッカーの攻撃からサーバープッシュ。例えば、ロングポーリング。

WebSocketを

おすすめ

転載: blog.csdn.net/luliuliu1234/article/details/103942971