mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-06-26 11:24:46 +00:00
35 lines
941 B
C#
35 lines
941 B
C#
|
using System;
|
|||
|
using DotNetty.Handlers.Timeout;
|
|||
|
using DotNetty.Transport.Channels;
|
|||
|
|
|||
|
namespace JNGame.Network.Netty
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Heartbeat Handler Class.
|
|||
|
/// </summary>
|
|||
|
public class HeartBeatHandler : ChannelHandlerAdapter
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Heart Beat Handler.
|
|||
|
/// </summary>
|
|||
|
/// <param name="context"></param>
|
|||
|
/// <param name="evt"></param>
|
|||
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|