private void ReceiveDemoData(CancellationToken Token) { while (true) { if (Token.IsCancellationRequested) { return; } UdpModel.Handle(GenerateDemoData()); Logger.Log("Демо данные были обработаны", RecordType.INFO, Source.UDP); Thread.Sleep(1000); } }
private void ReceiveRealData(CancellationToken Token) { try { while (true) { if (Token.IsCancellationRequested) { return; } //Кол-во принимаемых байтов int BytesCount = 0; //Получение Ip адреса с которого пришли данные EndPoint RemoteIp = new IPEndPoint(IPAddress.Any, 0); //Принятие данных с udp пакетов do { BytesCount = this.Socket.ReceiveFrom(this.Buffer, ref RemoteIp); }while (this.Socket.Available > 0); IPEndPoint RemoteFullIp = RemoteIp as IPEndPoint; UdpModel.Handle(this.Buffer); Logger.Log(RemoteFullIp.Address.ToString() + ":" + RemoteFullIp.Port.ToString() + "| Данные получены и обработаны", RecordType.INFO, Source.UDP); } } catch (Exception ex) { Logger.Log(ex.Message, RecordType.ERROR, Source.UDP); } finally { this.Stop(); Logger.Log("Произошла принудительная остановка сокета", RecordType.WARNING, Source.UDP); } }