using DotNetty.Handlers.Timeout; using DotNetty.Transport.Channels; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LanShengService.Tcp { public class HeartBeatHandler : ChannelHandlerAdapter { /// /// Heart Beat Handler. /// /// /// public override async void UserEventTriggered(IChannelHandlerContext context, object evt) { var eventState = evt as IdleStateEvent; if (eventState != null) { if (eventState.State == IdleState.ReaderIdle) { await context.CloseAsync(); } else if (eventState.State == IdleState.WriterIdle) { } else if (eventState.State == IdleState.AllIdle) { } } else { base.UserEventTriggered(context, evt); } } } }