2

AppEngine チャネル API では、チャネルは 2 時間後に自動的に閉じます。onError イベントでチャネルに再度参加することで、これを処理しています。

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

私たちのシナリオ: 私たちは、API を介して他の場所で予定を予約する予定スケジューリング システムを持っています。チャネルを使用して、新しい予定が到着したときにスケジュールに表示します。しかし、チャネルが閉じられて再接続されている間に予約された場合、一部の予約が失われる可能性があることが懸念されます. Channel API はこれを防ぎますか?

4

2 に答える 2

2

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

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

于 2011-12-19T19:38:23.550 に答える
0

チャンネルを「再接続」しているのではなく、まったく新しいチャンネルを作成しているので、メッセージを見逃す可能性があります. ただし、閉じたチャネルにメッセージを送信しようとすると、例外が発生するはずです。

于 2011-12-19T03:22:32.330 に答える