この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

クライアントの接続方法

ストリーミング API は HTTP/1.1 要求-応答モデルと Bayeux プロトコル (CometD 実装) を使用します。Bayeux クライアントは複数の段階でストリーミング API に接続します。
  1. ハンドシェイク要求を送信する。
  2. チャネルに登録要求を送信する。
  3. long polling を使用して接続する。
CometD メソッドの subscribe または connect をコールする場合などに、サーバがクライアントから受け入れられる HTTP POST リクエストボディの最大サイズは、32,768 バイトです。要求メッセージがこのサイズを超えると、応答でエラー「413 Maximum Request Size Exceeded」が返されます。要求をサイズ制限内に抑えるには、1 つの要求で複数のメッセージを送信しないでください。
クライアントは、長命 (long-lived) 接続を維持しながら、サーバからイベントを受信します。
  • クライアントがイベントを受信すると、次のイベントのセットを受信するためにすぐに再接続する必要があります。40 秒以内に再接続しないと、サーバが登録を期限切れにし、接続が終了します。クライアントは、ハンドシェイクと登録を最初からやり直す必要があります。
  • イベントが生成されずにクライアントが待機しているときにサーバが接続を閉じた場合、2 分経過したらすぐにクライアントは再接続する必要があります。

長命 (long-lived) 接続が予期しないネットワークの中断により失われた場合、CometD は自動的に再接続を試みます。この再接続が成功した場合、この新しい接続では、再ハンドシェイクにより前の登録者が削除されているため、クライアントは再登録する必要があります。クライアントは、meta/handshake メタチャネルをリスンして、接続が失われて再確立されたときに通知を受信することができます。

これらの手順の詳細は、「Bayeux プロトコル、CometD、および long polling」を参照してください。