You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// Heart Beat Handler.
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <param name="evt"></param>
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|