どのようなTCPプロトコルは、クライアント通信へのクライアントのために利用可能ですか?
-
11-09-2019 - |
質問
Manytimesクライアントは自分のWebアプリケーションのためのインスタントメッセージング(IM)およびその他のクライアント・ツー・クライアント(P2P)通信などの機能を求めます。一般的にどのようにこれは、通常のWebブラウザで実行されますか?たとえば、私は、通常のブラウザからIMすることができます Google Waveのの(やGmail)のデモを見てきました。これは、HTTPを経由してますか?またはXmlHttpRequestの(AJAX)は、通信に必要なバックエンドを提供していますか?
私はどのようにサーバーがリモートクライアントを「ウェイクアップ」できるだろう何よりも、IMを送信するために言うことができますか?またはクライアントが新しいインスタントメッセージのためのメッセージサーバを「ポーリング」を維持する必要があるのでしょうか?
解決
一般的にブラウザが新しいメッセージのためにサーバーをポーリングします。多くの場合、これはより効率的にするために行われている一つのアプローチは、「<のhref = "http://niryariv.wordpress.com/2009/07/13/the-long-poll-implementing-ajax-chat-with-cometです/」のrel = "nofollowをnoreferrer">ロングポーリングする」(も参照<のhref = "http://cometdaily.com/2007/11/16/more-on-long-polling/" のrel =」 noreferrer nofollowを ">このリンクのは) - それは何かを持っている場合、サーバーはすぐに応答します。そうでない場合、それはしばらくオープン接続を維持しながら待機します。メッセージが入ってくる場合は、すぐに目を覚ますと、それを送信し、それ以外の場合は、数十秒後に「いや、戻って確認してください」。に戻ってきますクライアントは、彼らはすぐにロングポーリング状態に戻ってリダイヤルします。