2025-04-17 20:28:50 +08:00

43 lines
1.1 KiB
C#

using System;
using System.Threading.Tasks;
using JiShe.CollectBus.Exceptions;
using Microsoft.Extensions.Logging;
using TouchSocket.Core;
using TouchSocket.Sockets;
namespace JiShe.CollectBus.Plugins
{
public partial class TcpCloseMonitor(ILogger<TcpCloseMonitor> logger) : PluginBase, ITcpReceivedPlugin
{
public async Task OnTcpReceived(ITcpSession client, ReceivedDataEventArgs e)
{
try
{
await e.InvokeNext();
}
catch (CloseException ex)
{
logger.LogInformation("拦截到CloseException");
await client.CloseAsync(ex.Message);
}
catch (Exception exx)
{
}
finally
{
}
}
}
public partial class UdpCloseMonitor(ILogger<TcpCloseMonitor> logger) : PluginBase, IUdpReceivedPlugin
{
public Task OnUdpReceived(IUdpSessionBase client, UdpReceivedDataEventArgs e)
{
throw new NotImplementedException();
}
}
}