4

私はGAEとそのチャネルAPIに加えてチャットアプリケーションに取り組んでいます。私はドキュメントと提供された例を研究し、このあたりの回答のいくつかも調べましたが、それでもclientId/トークンの仕組みの全体像を把握しているとは思えません。

1)。トークンは2時間発行されるので、有効期限が切れたら新しいトークンをリクエストする必要があります。また、クライアントIDパラメーターを使用してハンドラーで切断プレセンスを取得します。つまり、その時点でチャネルが閉じられており、新しいトークンを要求することで、基本的に新しいチャネルを作成しているということですか?それで、その時点でどのクライアントIDを使用できるか、古いものか完全に新しいものかは関係ありません。また、GAEはこれを作成中の新しいチャネルとしてカウントしますか?

2)。トークンの有効期限が切れる前にユーザーが私のページから離れた場合(切断プレゼンスを受け取ります)。そして、戻ってきます(まだその2時間のウィンドウ内にあります)、古いトークンを使用して同じチャネルに彼を再接続できますか(Cookieにそれらがあるとしましょう)?はいの場合、GAEはこれを作成中の新しいチャネルとしてカウントしていませんか?

3)。上記の質問に対する答えが「はい」の場合、サーバー側で切断されたクライアントIDとトークンをガベージコレクションし、それらを新しい接続されたクライアントに配布できますか。このシナリオでは、ユーザーが私のページに戻ってきて、その古いクライアントID /トークンがすでに他の誰かによって使用されている場合、そのユーザーはプールから別のペアを受け取るだけです。それとも、ページごとに1つのチャネルというルールが有効になる場所ですか?

よろしくお願いします、アレクセイ

4

1 に答える 1

7

回答:

1)はい、既存のクライアントIDを再利用する場合でも、新しいクライアントIDを再利用する場合でも、新しいチャネルの作成に対して料金が発生します。

2)はい、既存のトークンで再接続でき、新しいチャネルの作成に対して料金が発生することはありません。サーバーでのcreate_channel呼び出しは、コストがかかるものです。クライアントで行うことはすべて無料です。

3)あなたはこれを行うことができます。同じトークンで接続しようとするクライアントが複数ある場合、予期しない結果が生じることに注意してください。

お役に立てば幸いです。

于 2012-01-22T16:43:25.763 に答える