Pelanggan adalah javaswing netty, dan pelayan menggunakan Springnetty.
Apabila pelayan tidak menggunakan pengesanan degupan jantung, jika pelanggan tiba-tiba mencabut kabel rangkaian dan memutuskan sambungan daripada rangkaian (perhatikan bahawa ini bukan penutupan program klien, tetapi hanya pemutusan rangkaian yang tidak normal), Pengendali sebelah pelayan
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
cause.printStackTrace();
ctx.close(); //
}
Kaedah itu tidak menerima maklumat yang tidak normal, jadi bagaimana ini boleh dikesan? ?
Lapisan tcp ini tidak dapat dirasai lagi Memandangkan pelayan tidak mempunyai degupan jantung, ia hanya boleh dirasai pada kali berikutnya terdapat interaksi data
Tanpa pengesanan degupan jantung, jika anda ingin mengesan data dengan kerap, anda hanya boleh menunggu interaksi data seterusnya untuk mengesannya.