2016-05-24 8 views
2

Facebookなどのリアルタイム通知を実装したいと考えています。サーバーの読み込み時間とコーディングの効率によって、さまざまなユーザーに送信される膨大な数の通知が存在する可能性があります。どのアプローチが最適ですか?PHPでリアルタイム通知を処理する最良の方法は何ですか?

1. using normal AJAX? 
2. with node.js and socket programming? 
3. something else? 

ありがとうございます。

+0

2. node.jsとソケットプログラミング –

答えて

0

Ajaxリクエストはリアルタイムではありませんが、タイムアウトを設定でき、この場合は動作します。 しかし、ajaxリクエストはサーバをビジー状態にし、多くの接続を試みます。これは簡単です!

ソケットを使用した方が良いですが、これを開発するにはさらに時間が必要です。

次のリンクを読むにはあなたを助けることができます。

Ajax vs Socket.io

2

適切なプラットフォームの選択は非常にあなたの現在のアーキテクチャ、知識、および予算に依存します。

ご質問は、唯一の2つの基本的なオプションがありますそのためのWebベース、であることを示唆している:

  • のWebSocketは:コンパイルされた実行ファイル、PHPベース、およびNode.js.を含む多くのWebSocketサーバーソリューションが存在しますこのアプローチは一般に普及していますが、通常は完全なサーバーを実行する必要があるため、すべての予算に必ずしもアクセスする必要はありません。非常に多くの同時接続が必要なシステムでは、VPSの制限は通常はあまりにも重要です。
  • AJAX:AJAXとその亜種の使用は、依然として非常に一般的な解決策であり、よく実装された場合、常に接続を維持する必要はなく、とほぼ同じくらい効率的なとなります。 1秒の遅れがある場合はそれほど重要ではないし、Facebookのチャットは通常それよりもはるかに遅い。

Webベース以外のソリューションでは、何かが可能です。クライアントサーバーアプリケーションを開発する場合、WebSocketに似たリアルタイム接続を維持することができます。

0

最近では、2つの解決策があります。ウェブソケットと彗星。 WebSocketを、おそらく最良の解決策ですが、彼らは2つの市長の問題持っている:私は(少なくとも今)彗星を使用することを好むそのため

Not all browsers support them. 
Not all proxy servers allows the communications with websokets. 

を。それはウェブソケットほど良くはないが、(IE上でさえ)かなり簡単なantである。 realtimenotifications more details上記のリンクを参照して詳細を知る。

関連する問題