1

Channel APIのGAEドキュメントを見ると、

特定のクライアントIDを使用してチャネルに接続できるのは一度に1つのクライアントのみであるため、アプリケーションはファンアウトにクライアントIDを使用できません。つまり、複数のクライアントに接続するための中央のクライアントIDを作成することはできません。

と矛盾しているようです

create_channel()によって返されたトークンをシークレットとして扱います。悪意のあるアプリケーションがトークンにアクセスすると、使用しているチャネルに沿って送信されたメッセージをリッスンする可能性があります。

どうしてそれらは両方とも真実であることができますか?しかし、もっと重要なことは、アプリにログインしているユーザーごとに1つのチャネルを作成することを計画していることです。これで、ユーザーがアプリで新しいタブを開いた場合、同じトークンを再度使用できますか?タブごとに1つのチャンネルを作成するという選択肢は、高価なことは言うまでもなく、ユーザーが開いている音はかなり奇妙です。

4

1 に答える 1

4

同じトークンを使用してチャネルで複数のソケットを開いた場合、結果は未定義です。両方のソケットがメッセージを受信することも、どちらも受信しないことも、1 つだけ受信することもあります。(実際には、ユーザーがページを更新する場合に備えて、2 つの接続を技術的に確実にサポートしています)

同じユーザーによる複数の接続 (異なるタブまたは異なるコンピューターなど) をサポートする場合は、タブ/ブラウザー インスタンス/コンピューターなどごとに clientids を作成する必要があります。

于 2012-03-11T01:53:46.440 に答える