私の研究
Websockets と Long Polling、それらの長所と短所などについて、Google と SO を調査するのに何時間も費やしましたが、これに対する明確な解決策をまだ見つけていません。
私は、このトピックに関する記事を、これまで調査したどの記事よりも多く読んできました。
- Ajax/PHP - 実行時間の長いスクリプトまたはポーリングを使用する必要がありますか?
- jQuery と PHP を使用したロング ポーリング
- データベースの変更をポーリングする - Ajax/jQuery
また、次のことも調べました。
この質問の正当性
一見すると、この質問は重複しているか、局所的すぎるように見えるかもしれませんが、広範な調査の結果、十分な情報に基づいてどのルートを下るべきかを決定するのに十分な情報を収集できませんでした.
したがって、あなたのような天才の 1 人が、この質問に答えるために親切に時間を貸してくれ、あなたの素晴らしい知識を私たちと共有してくれることを願っています :-)
私の質問
要するに、私の質問は本当にタイトルにあります。データベース レコードへの変更を検出しようとしている場合、websocket (socket.io) とロング ポーリング (jQuery および AJAX) のどちらを使用するのが適切ですか?
答えがウェブソケットである場合は、基本的な例を含めてください。Google のすべての記事があっても、これらは私を本当に混乱させます...
さらに、これを行うためのより良い、またはより適した方法が他にもあるかもしれません。もしそうなら、それらを共有してください。
追加情報
これはおそらく最終的な回答には影響しませんが、念のため、何を検出しようとしているのか、および考慮する必要がある可能性があるいくつかのことを説明したいと思います。
事実上、ログイン セッションへの変更を検出しようとしています。つまり、データベースでユーザー トークンが変更された場合、またはタイムアウトが発生した場合、ユーザーはログアウトされており、これを通知するメッセージを表示したいと考えています。
これで違いが生じるとは思いませんが、最終的なコードは SSL に適したものにする必要があります。これは AJAX を使えば簡単ですが、websocket 側には不慣れです。
もともと、javascript を使用してサーバーからタイムアウトを取得するシステムを作成し、timeout
数秒でサーバーをポーリングしtimeout
て有効期限が切れたかどうかを確認しました。これは完璧だと思っていましたが、クライアント コンピューターの時刻がサーバーの時刻と一致している場合にのみ機能することに気付きました。したがって、これを破棄する必要がありました:-(
とにかく、私の質問が局所化されすぎていないことを願っています。あなたの意見と回答を聞くのを楽しみにしています. 複雑な部分がない限り、PHP データベース コードや jQuery AJAX コードを手伝って時間を無駄にしないでください。私よりも助けてください。私はあなたの意見、および/またはWebsocketがより良い解決策である場合にこれを達成する方法にもっと興味があります:-)。