2011-12-19 1 views
2

AppEngine Channel APIでは、2時間後に自動的にチャンネルが閉じます。これを処理するには、onErrorイベントのチャンネルに再び参加します。AppEngine Channel APIの欠落メッセージに対する防御

チャネルの再接続中にメッセージが送信される可能性はありますか?

私たちのシナリオ:私たちは、予定を、APIを介して他の場所に予約する予定システムを持っています。チャンネルを使用して、到着するスケジュールに新しい予定を表示します。しかし、私は、チャネルが閉鎖されて再接続されている時間に予約されていると、一部のアポイントメントが見逃される可能性があることを心配しています。 Channel APIはこれに対してガードしていますか?

答えて

2

ちょっとした背景:チャンネルAPIの「クライアントID」は、一時的なXMPPエンドポイントを作成するために使用されます。指定されたクライアントIDは、常に同じ一時的エンドポイントにマップされます。したがって、同じクライアントIDで作成されたチャネルにトークンを使用して再接続すると、同じエンドポイントに再接続しています。このため、クライアントがチャネルを再作成する前にメッセージを送信する動作が発生する可能性があります。しかし、保証はなく、リッスンクライアントがないチャネルに送信されたメッセージを積極的にキューに入れません。

あなたのケースでは、新しいトークンを返す同じ応答の一部として予定の最新リストを返すことができますか?

+0

はい、これを行う予定です。情報をありがとう。 –

0

チャンネルを再接続していないため、まったく新しいチャンネルが作成されているため、メッセージが表示されない可能性があります。ただし、閉じたチャネルにメッセージを送信しようとすると例外が発生します。