public UnionGatewayService(IServiceProvider serviceProvider) { this.jT808SessionManager = serviceProvider.GetRequiredService <UnionSessionManager>(); this.jT808TcpAtomicCounterService = serviceProvider.GetRequiredService <UnionAtomicCounterServiceFactory>().Create(TransportProtocolType.Tcp); this.jT808UdpAtomicCounterService = serviceProvider.GetRequiredService <UnionAtomicCounterServiceFactory>().Create(TransportProtocolType.Udp); this.ConfigurationOptionsMonitor = serviceProvider.GetRequiredService <IOptionsMonitor <UnionConfiguration> >(); }
public UnionMsgReplyHostedService( IUnionMsgReplyConsumer jT808MsgReplyConsumer, UnionSessionManager jT808SessionManager) { JT808MsgReplyConsumer = jT808MsgReplyConsumer; JT808SessionManager = jT808SessionManager; }
public UnionTcpReceiveTimeoutHostedService( IOptions <UnionConfiguration> jT808ConfigurationAccessor, ILoggerFactory loggerFactory, UnionSessionManager jT808SessionManager ) { SessionManager = jT808SessionManager; Logger = loggerFactory.CreateLogger("JT808TcpReceiveTimeout"); Configuration = jT808ConfigurationAccessor.Value; }
public UnionGatewayService( IOptionsMonitor <UnionConfiguration> configurationOptionsMonitor, UnionSessionManager jT808SessionManager, UnionAtomicCounterServiceFactory jT808AtomicCounterServiceFactory ) { this.jT808SessionManager = jT808SessionManager; this.ConfigurationOptionsMonitor = configurationOptionsMonitor; this.jT808TcpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(TransportProtocolType.Tcp); this.jT808UdpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(TransportProtocolType.Udp); }
/// <summary> /// 使用正常方式 /// </summary> /// <param name="jT808ConfigurationAccessor"></param> /// <param name="jT808Config"></param> /// <param name="loggerFactory"></param> /// <param name="jT808SessionManager"></param> /// <param name="replyMessageHandler"></param> /// <param name="jT808AtomicCounterServiceFactory"></param> public UnionTcpServer( IOptions <UnionConfiguration> jT808ConfigurationAccessor, IJT808Config jT808Config, ILoggerFactory loggerFactory, UnionSessionManager jT808SessionManager, UnionNormalReplyMessageHandler replyMessageHandler, UnionAtomicCounterServiceFactory jT808AtomicCounterServiceFactory) { SessionManager = jT808SessionManager; Logger = loggerFactory.CreateLogger("JT808TcpServer"); Serializer = jT808Config.GetSerializer(); _unionNormalReplyMessageHandler = replyMessageHandler; AtomicCounterService = jT808AtomicCounterServiceFactory.Create(TransportProtocolType.Tcp); Configuration = jT808ConfigurationAccessor.Value; InitServer(); }
public UnionUdpServer( IOptions <UnionConfiguration> jT808ConfigurationAccessor, IJT808Config jT808Config, ILoggerFactory loggerFactory, UnionSessionManager jT808SessionManager, UnionNormalReplyMessageHandler replyMessageHandler, UnionAtomicCounterServiceFactory jT808AtomicCounterServiceFactory) { SessionManager = jT808SessionManager; Logger = loggerFactory.CreateLogger("JT808UdpServer"); Serializer = jT808Config.GetSerializer(); JT808NormalReplyMessageHandler = replyMessageHandler; AtomicCounterService = jT808AtomicCounterServiceFactory.Create(TransportProtocolType.Udp); Configuration = jT808ConfigurationAccessor.Value; LocalIPEndPoint = new System.Net.IPEndPoint(IPAddress.Any, Configuration.UdpPort); server = new Socket(LocalIPEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp); server.Bind(LocalIPEndPoint); }