2012-02-02 13 views
35

ショート:サーバからログインしたユーザセッションにデータをプッシュする方法はありますか?PHP/JavaScriptを使用してサーバからユーザにプッシュ通知をプッシュ

ロング(エル):私はApache/PHP/MySQLサーバー上でモバイルデバイス(またはおそらくPhoneGapアプリケーション経由)上のユーザーに配信できるHTML5アプリケーションを構築しています。

アプリケーションから利用可能な新しい情報があるときに、そのユーザーにサーバーへの呼び出しを強制したり、AJAXコールを要求したりすることなく、過度のデータ料金を払わずに、ユーザーに知らせる必要があります。 1バイトのクッキーがないかどうかチェックしてください。

これの良い例は、あるユーザーから別のユーザーに送信する際に2人のユーザー間でチャットメッセージを送信することです。

+0

私は、私が受け取ったフィードバックに感謝のWebSocketの私の研究をしています。私は素晴らしいチュートリアルを見つけました:http://net.tutsplus.com/tutorials/javascript-ajax/start-using-html5-websockets-today – Collius

+0

これはなぜ閉鎖されましたか?それは本当の質問です... –

+1

それは本当の質問ですが、広く広くはっきりしていないものです。「明らかな」答えは、「もちろん」です。確かに、他のプロトコルを使用するなど、HTTPを使用せずにサーバーからデータをプッシュする方法があります。問題は「過剰なデータ料金」と思われますが、別のプロトコルがそれをどのように修正するのでしょうか?それは 'ソケット'のように見える答えですが、それは私の意見では、質問の内容に基づいて提案する本当の明白なことではありません..多分質問が明確になっている場合は? – Nanne

答えて

28

最新のブラウザでは、Websocketsまたは古いブラウザでは「long polling」です。これを抽象化できるライブラリもあります(cometなど)。

非常に一般的なライブラリは現在利用可能な場合はwebSocketを使用し、利用できない場合はロングポーリングのような他のテクノロジーに自動的に接続するsocket.ioです。

いくつかの他の参考文献:

How do I implement basic "Long Polling"?

COMET (server push to client) on iPhone

More on Long Polling

Is there a difference between long-polling and using Comet

Pushing the web with websockets

Oh HTML5, Push Data to my Mobile

+1

すばらしく便利です。私は早めにWebsocketsで宿題をやり始めます。 – Collius

+0

socket.ioリファレンスが追加されました。これは非常に便利です。 – jfriend00

4

私は、それがNode.jsである(IE用)

のWebSocket、FlashSocket、HTMLファイル、XHR長いポーリング、JSONPポーリング

を活用Socket.io

をお勧めしますこれは、それが非ブロッキング性であることを意味する。リアルタイムの特徴において

、同時性はそれほどのNode.jsとSocket.ioの非ブロック性質はあなた

+0

私はNode.jsには注意が必要ですが、これは非常に役に立ちます。ありがとう! – Collius

1

ScaleDroneあなたはPHP API clientを使用してJavaScriptにPHPからプッシュすることができます役立つだろう大きな問題

です。

関連する問題