/// <summary>
        /// 添加808网关
        /// </summary>
        /// <param name="jT808Builder"></param>
        /// <param name="configuration"></param>
        /// <returns></returns>
        public static IJT808GatewayBuilder AddGateway(this IJT808Builder jT808Builder, IConfiguration configuration)
        {
            JT808GatewayBuilderDefault jT808GatewayBuilderDefault = new JT808GatewayBuilderDefault(jT808Builder);

            jT808GatewayBuilderDefault.JT808Builder.Services.Configure <JT808Configuration>(configuration.GetSection("JT808Configuration"));
            jT808GatewayBuilderDefault.AddJT808Core();
            return(jT808GatewayBuilderDefault);
        }
        /// <summary>
        /// 添加808网关
        /// </summary>
        /// <param name="jT808Builder"></param>
        /// <param name="config"></param>
        /// <returns></returns>
        public static IJT808GatewayBuilder AddGateway(this IJT808Builder jT808Builder, Action <JT808Configuration> config)
        {
            JT808GatewayBuilderDefault jT808GatewayBuilderDefault = new JT808GatewayBuilderDefault(jT808Builder);

            jT808GatewayBuilderDefault.JT808Builder.Services.Configure(config);
            jT808GatewayBuilderDefault.AddJT808Core();
            return(jT808GatewayBuilderDefault);
        }
        public static IJT808GatewayBuilder AddJT808Gateway(this IJT808Builder jt808Builder, IConfiguration configuration)
        {
            IJT808GatewayBuilder server = new JT808GatewayBuilderDefault(jt808Builder);

            server.JT808Builder.Services.Configure <JT808Configuration>(configuration.GetSection("JT808Configuration"));
            server.AddJT808Core();
            return(server);
        }
        public static IJT808GatewayBuilder AddJT808Gateway(this IJT808Builder jt808Builder, Action <JT808Configuration> config)
        {
            IJT808GatewayBuilder server = new JT808GatewayBuilderDefault(jt808Builder);

            server.JT808Builder.Services.Configure(config);
            server.AddJT808Core();
            return(server);
        }
        public static IJT808GatewayBuilder AddJT808DevelopmentGateway(this IJT808Builder jt808Builder)
        {
            IJT808GatewayBuilder server = new JT808GatewayBuilderDefault(jt808Builder);

            server.JT808Builder.Services.TryAddSingleton <JT808Configuration>();
            server.AddJT808Core();
            return(server);
        }
        public static IJT808GatewayBuilder AddJT808Gateway(this IJT808Builder jt808Builder, Action <JT808Configuration> jt808Options)
        {
            IJT808GatewayBuilder nettyBuilder = new JT808GatewayBuilderDefault(jt808Builder);

            nettyBuilder.JT808Builder.Services.Configure(jt808Options);
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808AtomicCounterServiceFactory>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808SessionManager>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808UnificationSendService, JT808UnificationSendService>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionService, JT808SessionService>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgProducer, JT808MsgProducerDefaultImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgReplyConsumer, JT808MsgReplyConsumerDefaultImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808MsgService>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionProducer, JT808SessionProducerDefaultImpl>();
            nettyBuilder.JT808Builder.Services.AddHostedService <JT808MsgReplyHostedService>();
            return(nettyBuilder);
        }