私はリアルタイムの影響のための間隔でajax経由でサーバーからデータを要求する非常に簡単で怠惰な方法を実装しました。サーバーは、長いポーリングでクライアントが要求していないデータをどのように返しますか?
しかし、私は長いポーリング/コメットのテクニックを選択したいのですが、クライアントがなくても常にサーバーがデータをプッシュするように勧めます。
私は長いポーリングと彗星の働きを完全に理解しています。しかし、クライアントにデータがあるときにサーバーがプッシュするコーディング部分を見たいと思っています。
クライアントが以前に行ったリクエスト(長いポーリング)は、データがあるとサーバーがプッシュできますか?私はこの部分を理解していません。誰かがコーディングしてくださいで示すことができますか?
現在、私は間隔で新しいデータをajax経由でチェックしています。クライアントがデータを要求していないデータがあるときにサーバーが自動的に戻るような長いポーリングを実装するには、これをどうやって変更できますか?重複としてマークされ、この質問以来
(function notify(){
$.each(id, function(k, v){
jQuery.ajax({
method: "POST",
url: "/notification.php",
"data": v,
error: function() {
reject('error');
},
success: function(result) {
console.log(result.data);
}
});
})
setTimeout(function(){
notify();
}, 1000);
})()
:
私は完全に長いポーリングと彗星の概念を理解して言いました。私はここで概念を理解するのではなく、実際にその概念を実装するコードについて理解しています!
可能な重複[何であるロングポーリング、WebSocketを、サーバー・送信されたイベント(SSE)と彗星?] (http://stackoverflow.com/questions/11077857/what-are-long-polling-websockets-server-sent-events-sse-and-comet) –
基本的に、サーバーはデータが利用可能になるまで応答しません。ところで、通常の古いPHPは、実際にはスケーラブルではないので、実際にはこれ用に設計されていません。すばやくすべてのリソースを使い果たします。 –
@ AlexanderO'Mara、私のサーバーがphp5以上を使用していることを確認します。しかし、サーバーはどのように応答しますか、疑似コードを表示できますか? – 112233