2

通知システムに Web ソケットを使用するアプリケーションを作成しています。ページが読み込まれるたびに新しい接続が発生しないように、親に Web ソケットを使用してアプリケーションを iframe に配置することをお勧めしますか? それとも、再接続する必要がありますか?

あなたの考えは何ですか?

AJAX リクエストを 10 秒ごとに送信せずにプッシュ通知のような通知を PHP で取得する方法が他にある場合は、お知らせください。

ありがとう。

4

1 に答える 1

2

これは、あなたが説明したオプションの 1 つです。

そのオプションの問題は、その内側の iframe のコンテンツを直接制御できないことです。誰かが iframe の src 属性を変更できるようにするために、iframe の親の間でプッシュ メッセージ ウィンドウ通信を実装する必要があります。親ページを更新すると、iframe は初期ページではなく実際の状態に更新する必要があります。
2 つ目の問題は、SEO がまったく行われないことです。したがって、あなたのページは検索エンジン ロボットによってクロールされません。アプリケーションにとって SEO が重要な場合、これはオプションではありません。WebSockets でセッションを使用する場合、データ自体への一貫したアクセスを維持するために、通常の PHP スクリプトと WebSockets ロジックでセッションを使用できるようにすることが重要です。PHP を使用すると、簡単な作業ではなくなります。

1 つの AJAX リクエストを開いてから応答を取得できるため、ロング プル手法も検討できます。このリクエストはしばらく続く可能性がありますが、最終的には閉じられ、クライアント側で再度開く必要があります。

もう 1 つのオプションは、実際のアプリケーション アーキテクチャを確認し、単一ページ アプリケーションを検討することです。短所と長所もあります。
それについて良いことは、UXがはるかに高くなることです. 応答時間だけでなく、コンテンツとデータの読み込みも少なくなります。
長所は、javascript のフロントエンド側で多くの開発が必要になることです。同様に、単一ページのアプリケーションを実行できる主要なルートが 2 つあります。一貫性と一貫性がありません。最初のケースでは、単一ページのアプリケーションが java-script を使用して生成するのと同じ方法で、バックエンドが更新時または特定のリンクへの移動時に静的 html をサーバーに送信することを確認する必要があります。次に、SEOの問題を解決します。一貫性のないアプローチですが、純粋に javascript (フロントエンド) のみになり、SEO で問題が発生します。

WebSocket は通常、単一ページのアプリケーションで使用されます。たとえば、Facebook チャットはその好例です。または、Gmail アカウントでの Google トーク。ハンドシェイク プロセスは通常の HTTP リクエストよりも少し重いため、頻繁に更新されるページで使用することを意図していません。

于 2013-02-13T16:36:07.263 に答える