Async TcpClient отключает интернет после 30 секунд отправки данных - PullRequest
0 голосов
/ 15 октября 2018

Я написал небольшую библиотеку для отправки простых HTTP-запросов ради интереса на основе асинхронного TcpClient.Я пошел на тесты и столкнулся с проблемой.Когда я запускаю около 200 задач для отправки запроса, программа отправляет и получает данные примерно через 30 секунд, после чего доступ в Интернет отключается и запросы останавливаются.

        var tasks = new List<Task>();

        for (int i = 0; i < 200; i++)
        {
            tasks.Add(Task.Run(async () =>
            {
                while (true)
                {
                    var message = new GetHttpMessage("www.stackoverflow.com")
                    {
                        Headers = { {"User-agent","Test-agent-1"} }
                    };

                    var req = new Request(message);
                    var resp = await req.SendAsync();
                }
            }));
        }

        await Task.WhenAll(tasks);

Интернет полностью исчезает, браузер тоже не работает.Решив посмотреть на активность сети, я увидел, что в начале работы соединения активно появляются и исчезают, а во время остановки просто зависают в определенном состоянии.

Скриншотсетевой активности

Я пользуюсь роутером, может проблема в этом?

...