using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TouchSocket.Core; using TouchSocket.Sockets; namespace JiShe.CollectBus.Core.Services { public partial class BusService : PluginBase { [GeneratorPlugin(typeof(IServerStartedPlugin))] public Task OnServerStarted(IServiceBase sender, ServiceStateEventArgs e) { switch (sender) { case ITcpService service: { foreach (var item in service.Monitors) { ConsoleLogger.Default.Info($"TCP {item.Option.IpHost}"); } break; } case UdpSession session: ConsoleLogger.Default.Info($"UDP {session.Monitor.IPHost}"); break; } ConsoleLogger.Default.Info(e.ServerState == ServerState.Running ? $"服务器成功启动" : $"服务器启动失败,状态:{e.ServerState},异常:{e.Exception}"); return e.InvokeNext(); } [GeneratorPlugin(typeof(IServerStopedPlugin))] public Task OnServerStoped(IServiceBase sender, ServiceStateEventArgs e) { Console.WriteLine("服务已停止"); return e.InvokeNext(); } } }