Netty篇(心跳检测机制)

目录

一、简介

二、案例代码

1. 心跳检测服务端代码

2. 心跳检测客户端代码


一、简介

netty心跳机制示例,使用Netty实现心跳机制,使用netty4,IdleStateHandler 实现。

Netty心跳机制,netty心跳检测,netty,心跳我们知道使用netty的时候,大多数的东西都与Handler有

关,我们的业务逻辑基本都是在Handler中实现的。

Netty中自带了一个IdleStateHandler可以用来实现心跳检测。

心跳检测逻辑是这样的:

服务端启动后,等待客户端连接,客户端连接之后,向服务端发送消息。如果客户端在“干活”那么服务

端必定会收到数据,如果客户端“闲下来了”那么服务端就接收不到这个客户端的消息,既然客户端闲下

来了,不干事,那么何必浪费连接资源呢?所以服务端检测到一定时间内客户端不活跃的时候,将客户端

连接关闭。

本文要实现的逻辑步骤为:

  • 启动服务端,启动客户端
  • 客户端向服务端发送"I am alive",并sleep随机时间,用来模拟空闲。
  • 服务端接收客户端消息,并返回"copy that",客户端空闲时 计数+1.
  • 服务端客户端继续通信
  • 服务端检测客户端空闲太多,关闭连接。客户端发现连接关闭了,就退出了。

二、案例代码

1. 心跳检测服务端代码

public class HeartBeatServer {

    int port ;
    public HeartBeatServer(int port){
        this.port = port;
    }

    public void start(){
        ServerBootstrap bootstrap = new ServerBootstrap();
        EventLoopGroup boss = new NioEventLoopGroup();
        EventLoopGroup worker = new NioEventLoopGroup();
        try{
            bootstrap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodingW丨编程之路

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值