SuperSocket 2.0学习06:获取会话的连接和断开事件

官方学习资料:获取会话的连接和断开事件

本文开发环境:Win10 + VS2019 + .NetCore 3.1 + SuperSocket 2.0.0-beta.8。

Gitee:SuperSocketV2Sample

在SuperSocket 2.0中有3个类可以获取会话的连接和断开事件:AppSession、SuperSocketService、SuperSocketHostBuilder。

1、AppSession

重载OnSessionConnectedAsync和OnSessionClosedAsync以监听会话的连接和断开事件。

2、SuperSocketService

重载OnSessionConnectedAsync和OnSessionClosedAsync以监听会话的连接和断开事件。

3、SuperSocketHostBuilder

注册Session处理器:

//注册用于处理连接、关闭的Session处理器
.UseSessionHandler(async (session) =>
{
    Console.WriteLine($"{DateTime.Now} [SessionHandler] Session connected: {session.RemoteEndPoint}");
    await Task.Delay(0);
}, async (session, reason) =>
{
    Console.WriteLine($"{DateTime.Now} [SessionHandler] Session {session.RemoteEndPoint} closed: {reason}");
    await Task.Delay(0);
})

4、运行截图

5、说明

参照扩展你的AppSession和SuperSocketService实现代码,如果在上述3种类中都对会话的连接和断开事件进行了处理,无论在构建SuperSocketHostBuilder时注入代码的顺序是什么样的,都会按照AppSession->SuperSocketService->SuperSocketHostBuilder的顺序进行相关事件传递。

原文地址:https://www.cnblogs.com/xhubobo/p/14622884.html