TCP 経由で APP を構築していますが、相手側がダウンしていることを検出するには、クライアントが疑似 ping パケットを送信し続けるハートビート メカニズムを実装する必要があります。いくつかのテストを行ったところ、もう一方の端がダウンしている場合、読み取られたバイト数は 0 であることがわかりました。
だから私はこのようなことはできませんか?:
If FD is set, then
read from fd
if read bytes is 0 then
Assume socket is closed, close fd and do a reconnect.
これは私にとってはうまくいっているので、キープアライブの必要性を理解していません。サーバーにも同じロジックがあり、私にとってはうまくいきます。
私はまっすぐに考えていますか?