Java で独自のプロトを実装しています。これは、メッセージとファイルの転送にも使用する TCP 接続を介してハートビートを使用します。クライアントには、ブロッキング ソケット I/O を使用しています。それで、これがどのように機能するかを計画しています...ソケットタイムアウトをK秒に設定し、ハートビートが間隔Tでメッセージを送信し続けるようにして、T <Kになります。タイムアウトが期限切れになると、サーバーがオフラインのように見えますクライアントのために、またはその逆。
ハートビートは、サーバーが文字列を送信し、クライアントが別の文字列に応答することです。
多くの帯域幅を無駄にしたくありませんが、タイムアウトが大きいと、サーバーがクライアントのステータスについて誤解する可能性があります。
適切な K 間隔とは? 40秒くらい考えてる
PS: 文字列は ISO-8859-1 で送信された 8 文字であるため、その小さなデータ