Как увеличить количество запросов к серверу за минимальное время? - C#

Узнай цену своей работы

Формулировка задачи:

Как увеличить количество запросов к серверу за минимальное время? Здравствуйте, сразу прошу извинить за свою тупость(Только начинаю учить c#), но написать данную программу очень сильно нужно. Проблема в том что я отправляю на сервер запрос:
private string GET(string Url)
        {
            WebRequest req = WebRequest.Create(Url);
            WebResponse resp = req.GetResponse();
            Stream stream = resp.GetResponseStream();
            StreamReader sr = new StreamReader(stream);
            string Out = sr.ReadToEnd();
            sr.Close();
            return Out;
        }
Но мне не нравиться скорость выполнения моей программы. За 10 секунд у меня получается максимально отправить только 20 запрос на разные страницы сайта. Я так понимаю это происходит так: 1) Программа отправляет запрос. 2) Ждем какое то время пока сервер ответит нам(вот тут и самое сложное место, я так думаю) 3) Обрабатывает ответ. 4) Возвращаемся на 1 шаг. Я правильно понимаю, подскажите пожалуйста? Возможно ли сделать так: 1) Программа отправляет запрос на 1 страницу. 2) Программа отправляет запрос на 2 страницу. 3) Ждем какое то время пока сервер ответит нам на 1 страницу. 4) Ждем какое то время пока сервер ответит нам на 2 страницу. 5) Обрабатываем ответы. Есть предположения что для этого нужно использовать потоки... Если не сложно с кодом пожалуйста объясните. Заранее Огромное Спасибо.

Решение задачи: «Как увеличить количество запросов к серверу за минимальное время?»

textual
Листинг программы
                //положить в начало программы
                System.Net.ServicePointManager.Expect100Continue = true;
                System.Net.ServicePointManager.DefaultConnectionLimit = 100;
                System.Net.ServicePointManager.UseNagleAlgorithm = true;
 
                //запрос
                string url = "http://cyberforum.ru";
               
                HttpWebRequest requset = WebRequest.Create(url) as HttpWebRequest;                
 
                using (HttpWebResponse response = requset.GetResponse() as HttpWebResponse)
                {
                    using(Stream stream = response.GetResponseStream())
                    {
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            //code
                        }
                    }
                }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы