using System; using DotNetty.Handlers.Timeout; using DotNetty.Transport.Channels; namespace JNGame.Network.Netty { /// /// Heartbeat Handler Class. /// public class HeartBeatHandler : ChannelHandlerAdapter { /// /// Heart Beat Handler. /// /// /// public override void UserEventTriggered(IChannelHandlerContext context, object evt) { var eventState = evt as IdleStateEvent; if (eventState != null) { if (eventState.State == IdleState.ReaderIdle) { context.Channel.Flush(); context.Channel.CloseAsync(); } } else { base.UserEventTriggered(context, evt); } } } }