示例#1
0
        public ConnectionHandler(string ipAddress, SKMSteckbrief steckbrief = default, byte skmType = 0, PacketDispatcher dispatcher = null, ISendClient sendClient = null, IReceiveClient receiveClient = null)
        {
            Steckbrief = steckbrief;
            SKMType    = skmType;
            consoleIp  = IPAddress.Parse(ipAddress);

            this.sendClient          = sendClient ?? new SendClient();
            this.sendClient.Receive  = SendClientReceive;
            this.sendClient.Errored += SendClientErrored;
            this.sendClient.Start(new IPEndPoint(consoleIp, 5063));

            this.receiveClient          = receiveClient ?? new ReceiveClient();
            this.receiveClient.Receive  = ReceiveClientReceive;
            this.receiveClient.Errored += ReceiveClientErrored;
            this.receiveClient.Start(new IPEndPoint(IPAddress.Any, 0));

            packetDispatcher = dispatcher ?? new PacketDispatcher(this);

            completionQueue = new Queue <TaskCompletionSource <Enums.FehlerT> >();
            LocalIpBytes    = GetLocalIpAddress();
        }
示例#2
0
        private ISubscriber CreateAndConfigureSubscriber(IReceiveClient client, IConsumer consumer)
        {
            ISubscriber subscriber = new Subscriber(client, consumer);

            subscriber.EnvelopeReceived += delegate(object obj, SubscriberEventArgs args) { DispatchEvent(MessageReceived, args); };
            subscriber.EnvelopeFailed += delegate(object obj, SubscriberEventArgs args) { DispatchEvent(MessageFailed, args); };
            subscriber.EnvelopeConsumed += delegate(object obj, SubscriberEventArgs args) { DispatchEvent(MessageConsumed, args); };

            return subscriber;
        }
示例#3
0
 public Subscriber(IReceiveClient client, IConsumer consumer)
 {
     _consumer = consumer;
     _client = client;
 }