diff --git a/FunGame.Core/Service/SocketManager.cs b/FunGame.Core/Service/SocketManager.cs index 39d5e84..1f01b6d 100644 --- a/FunGame.Core/Service/SocketManager.cs +++ b/FunGame.Core/Service/SocketManager.cs @@ -6,6 +6,8 @@ namespace Milimoe.FunGame.Core.Service { internal class SocketManager { + #region 属性 + /// /// 客户端专用Socket /// @@ -19,52 +21,9 @@ namespace Milimoe.FunGame.Core.Service private static Socket? _Socket = null; private static Socket? _ServerSocket = null; - /// - /// 异步监听事件 - /// - /// 结果类 - /// 通信类型 - /// 参数 - /// 结果 - internal delegate Task SocketHandler(SocketMessageType type, params object[] objs); - - /// - /// 异步监听事件 - /// - /// 通信类型 - /// 参数 - /// 线程 - internal delegate Task SocketHandler(SocketMessageType type, params object[] objs); + #endregion - /// - /// 监听返回值为bool的事件 - /// - internal event SocketHandler? SocketReceiveBoolAsync; - - /// - /// 监听返回值为String的事件 - /// - internal event SocketHandler? SocketReceiveStringAsync; - - /// - /// 监听返回值为object的事件 - /// - internal event SocketHandler? SocketReceiveObjectAsync; - - /// - /// 监听返回值为int的事件 - /// - internal event SocketHandler? SocketReceiveIntAsync; - - /// - /// 监听返回值为decimal的事件 - /// - internal event SocketHandler? SocketReceiveDecimalAsync; - - /// - /// 监听没有返回值的事件 - /// - internal event SocketHandler? SocketReceiveAsync; + #region 实现 /// /// 创建服务器监听Socket @@ -149,7 +108,7 @@ namespace Milimoe.FunGame.Core.Service } return null; } - + /// /// 用于服务器端向客户端Socket发送信息 /// @@ -271,13 +230,64 @@ namespace Milimoe.FunGame.Core.Service }; } + #endregion + + #region 事件 + + /// + /// 异步监听事件 + /// + /// 结果类 + /// 通信类型 + /// 参数 + /// 结果 + internal delegate Task SocketHandler(SocketMessageType type, params object[] objs); + + /// + /// 异步监听事件 + /// + /// 通信类型 + /// 参数 + /// 线程 + internal delegate Task SocketHandler(SocketMessageType type, params object[] objs); + + /// + /// 监听返回值为bool的事件 + /// + internal static event SocketHandler? SocketReceiveBoolAsync; + + /// + /// 监听返回值为String的事件 + /// + internal static event SocketHandler? SocketReceiveStringAsync; + + /// + /// 监听返回值为object的事件 + /// + internal static event SocketHandler? SocketReceiveObjectAsync; + + /// + /// 监听返回值为int的事件 + /// + internal static event SocketHandler? SocketReceiveIntAsync; + + /// + /// 监听返回值为decimal的事件 + /// + internal static event SocketHandler? SocketReceiveDecimalAsync; + + /// + /// 监听没有返回值的事件 + /// + internal static event SocketHandler? SocketReceiveAsync; + /// /// 触发异步返回bool事件 /// /// 通信类型 /// 参数 /// bool结果 - internal async Task OnSocketReceiveBoolAsync(SocketMessageType type, params object[] objs) + internal static async Task OnSocketReceiveBoolAsync(SocketMessageType type, params object[] objs) { if (SocketReceiveBoolAsync != null) { @@ -292,7 +302,7 @@ namespace Milimoe.FunGame.Core.Service /// 通信类型 /// 参数 /// string结果 - internal async Task OnSocketReceiveStringAsync(SocketMessageType type, params object[] objs) + internal static async Task OnSocketReceiveStringAsync(SocketMessageType type, params object[] objs) { if (SocketReceiveStringAsync != null) { @@ -307,7 +317,7 @@ namespace Milimoe.FunGame.Core.Service /// 通信类型 /// 参数 /// object结果 - internal async Task OnSocketReceiveObjectAsync(SocketMessageType type, params object[] objs) + internal static async Task OnSocketReceiveObjectAsync(SocketMessageType type, params object[] objs) { if (SocketReceiveObjectAsync != null) { @@ -322,7 +332,7 @@ namespace Milimoe.FunGame.Core.Service /// 通信类型 /// 参数 /// int结果 - internal async Task OnSocketReceiveIntAsync(SocketMessageType type, params object[] objs) + internal static async Task OnSocketReceiveIntAsync(SocketMessageType type, params object[] objs) { if (SocketReceiveIntAsync != null) { @@ -337,7 +347,7 @@ namespace Milimoe.FunGame.Core.Service /// 通信类型 /// 参数 /// decimal结果 - internal async Task OnSocketReceiveDecimalAsync(SocketMessageType type, params object[] objs) + internal static async Task OnSocketReceiveDecimalAsync(SocketMessageType type, params object[] objs) { if (SocketReceiveDecimalAsync != null) { @@ -351,12 +361,14 @@ namespace Milimoe.FunGame.Core.Service /// /// 通信类型 /// 参数 - internal async Task OnSocketReceiveAsync(SocketMessageType type, params object[] objs) + internal static async Task OnSocketReceiveAsync(SocketMessageType type, params object[] objs) { if (SocketReceiveAsync != null) { await SocketReceiveAsync.Invoke(type, objs); } } + + #endregion } }