0

これは素朴な質問かもしれませんが、既存のチャネルがタイムアウトする直前に新しいチャネルを作成して、クライアントがチャネルなしにならないようにすることを計画していました. GoogleチャネルのAPIドキュメントでこの警告を読むまで、私はかなり賢いと思っていました:

チャネルごと、ページごとに 1 つのクライアント

クライアントは、ページごとに 1 つのチャネルにのみ接続できます。アプリケーションが複数のタイプのデータをクライアントに送信する必要がある場合は、サーバー側でデータを集約し、クライアントの socket.onmessage コールバックで適切なハンドラーに送信します。

私はこれに慣れていませんが、チャネルの一意性が接続先のページをどのように識別するかは明らかではありません。呼び出されているページを識別する channel.open() 呼び出しの javascript に何かありますか?

ありがとう。

4

1 に答える 1

3

チャネルの JavaScript は、(本番環境で) 指定された ID を持つ非表示の iframe を作成します。通信は iframe 内で行われます。JavaScript コードは常にその iframe (したがってチャネル) にアクセスします。

ソケットとチャネルを閉じると、非表示の iframe が破棄されます。その後、ページの新しいチャネルを作成できます。

于 2013-07-13T00:50:32.947 に答える