ハートビート機構とは、接続の正当性を確保するために、相手に自分が生きていることを知らせるためのカスタム構造体[ハートビートパケット]を定期的に送信する仕組みで、ハートビートと同様に一定時間ごとに送信されます。 。
#ハートビート メカニズムの意味:
ネットワーク内のデータの送受信はすべてオペレーティング システムの SOCKET を使用して行われます。が実装されています。しかし、このソケットが切断されている場合、データの送受信時に間違いなく問題が発生します。しかし、このソケットが引き続き使用できるかどうかを判断するにはどうすればよいでしょうか?これには、システムにハートビート メカニズム を作成する必要があります。
関連する学習の推奨事項:実は、
TCP はすでにハートビートと呼ばれるメカニズムを実装しています。ハートビートを設定すると、TCP は一定時間 (たとえば、3 秒に設定) 内に設定した数 (たとえば、2 回) のハートビートを送信します。この情報は、定義したプロトコルには影響しません。 . .いわゆる「ハートビート」とは、相手に「オンライン」であることを知らせるために、カスタム構造(ハートビートパケットまたはハートビートフレーム)を定期的に送信することです。リンクの有効性を確認するため。
ハートビートパケットハートビートパケットと呼ばれる理由は、クライアントがまだ生きていることをサーバーに伝えるためにハートビートのように一定時間ごとに送信されるためです。実はこれは接続を長く維持するためであり、このパケットの内容については特に規定はないが、一般的には非常に小さなパケット、あるいはヘッダのみの空のパケットである。
ハートビート パケット 一般に、論理層で空のパケットを送信することで実装されます。次のタイマーは、一定の時間間隔で空のパケットをクライアントに送信し、クライアントは同じ空のパケットをフィードバックします。サーバーは、クライアントが送信したフィードバック パケットを一定の時間内に受信できない場合、サーバーは判断することしかできません。オフラインだと言いました。送信または受信するだけです。結果がゼロの場合は、オフラインであることを意味します。
長時間接続では、長時間データ交換が行われない場合があります。理論上、この接続は常に接続されていますが、実際には、中間ノードに障害があるかどうかを知るのは困難です。さらに悪いことに、一部のノード (ファイアウォール) は、一定期間内にデータのやり取りがない接続を自動的に切断します。
以上が心拍の仕組みとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。