2012-01-22 8 views
4

GAEとそのチャンネルAPIの上にチャットアプリケーションを作成しています。私は医者と提供された例を学びました。また、ここでの答えのいくつかを見ても、私はクライアントID /トークンの仕組みの全体像を持っているような気がしません。GAEチャンネルAPI再接続

1)。トークンは2時間発行されるので、期限が切れると新しいトークンを要求する必要があります。私はまた、クライアントIDのparamでハンドラの接続を解除する予定です。それは、その時点でチャンネルが閉じていることを意味し、新しいトークンをリクエストすることによって、私は基本的に新しいチャンネルを作りますか?だから、私はその時点で、古いか全く新しいものを使用することができるクライアントIDは関係ありませんか?また、GAEはこれを新しいチャンネルとしてカウントしますか?

2)。トークンが期限切れになる前にユーザーが私のページから離れた場合(切断状態が表示されます)。そして、(2時間の窓の中に)まだ戻ってきます。私は彼を古いトークンで同じチャンネルに再接続できますか?(私はそれらをクッキーに入れています)はいの場合、GAEは作成中の新しいチャンネルとしてカウントしていませんか?

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

ありがとうbeforehandsと歓声、 アレクセイ

答えて

7

回答:

1)ええ、あなたがいるかどうか、既存のクライアントIDまたは新しいものを再利用するには、新しいチャネルを作成するために課金されます。

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

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

希望に役立ちます!

+0

ありがとう、それは速かった! – Megas

+0

お待ちしております:) –

+0

2)と3)については、[このドキュメントのページ](http://code.google.com/appengine/docs/python/channel/overview.html#Caveats)をご覧ください。基本的に、接続が切断された場合は、新しいトークンを発行する必要があります。トークンを再利用することは、いくつかのクライアントが同じトークンを使用することと本質的に同じです。 – westmark