GWTでgwt-gae-channelライブラリ(v。0.4)を使用してApp Engine Channel APIを使用しており、有効期限が切れた後、チャネルの再作成をテストしようとしています(つまり、onErrorはコード401で呼び出されます)。
テストは次のとおりです。
-GWTRPCメソッドを使用してチャネル(clientID=およびexpiration= 1分)を作成し、必要なトークンを取得します:createTestChannel(useremail)。
--ChannelFactory.createChannel(token、new ChannelCreatedCallback(){...})およびchannel.open(new MySocketListener(){...})を呼び出します-onError(
...)が呼び出されたとき(チャネルの有効期限が切れます) createTestChannel(useremail)を再度呼び出し(同じclientIDの新しいトークンを取得するため)、チャネルを開きますが、常にonError()とonClose()が呼び出されます。
ページを更新するか、同じコードで新しいタブを開くと、最初のチャネルの作成は正常に機能しますが、各チャネルの有効期限が切れると、それらを再作成できません。別のclientIDも試しましたが、機能しません。
2 に答える
0
于 2012-03-06T14:03:15.613 に答える
0
サーバー上に新しいチャネルを作成し、新しいトークンを取得する必要があります。ドキュメントから:
トークンは2時間で期限切れになります。クライアントがチャネルに2時間以上接続されたままの場合、ソケットのonerror()およびonclose()コールバックが呼び出されます。この時点で、クライアントはアプリケーションにXHRリクエストを送信して、新しいトークンをリクエストできます。
http://code.google.com/appengine/docs/java/channel/overview.html#Tokens_and_Security
于 2012-03-06T12:01:30.007 に答える