using JiShe.CollectBus.Core.Plugins; using JiShe.CollectBus.Core.Services; using Microsoft.Extensions.Configuration; using TouchSocket.Core; using TouchSocket.Sockets; // ReSharper disable once CheckNamespace namespace Microsoft.Extensions.DependencyInjection { public static class ServiceCollectionExtensions { /// /// 添加TcpService服务。 /// public static IServiceCollection AddTcp(this IServiceCollection services, IConfiguration configuration) { services.AddTcpService(config => { config.SetListenIPHosts(int.Parse(configuration["TCP:ClientPort"] ?? "10500")) .ConfigurePlugins(a => { a.Add(); a.Add(); a.Add(); }); }); return services; } /// /// 添加UdpService服务。 /// public static IServiceCollection AddUdp(this IServiceCollection services, IConfiguration configuration) { services.AddUdpSession(config => { config.SetBindIPHost(int.Parse(configuration["UDP:ClientPort"] ?? "10500")) .ConfigurePlugins(a => { a.Add(); a.Add(); }) .UseBroadcast() .SetUdpDataHandlingAdapter(() => new NormalUdpDataHandlingAdapter()); }); return services; } } }