Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.0.53] |
|
Сообщ.
#1
,
|
|
|
Здраствуйте уважаемые знатоки! Пишу навороченый прокси-чеккер и вот какая у меня появилась непонятка.. При помощи класса WebProxy я в несколько потоков коннектюсь к какому то сайту.. и все работает нормально, но, судя по сниферу который у меня установлен у меня идет всего 2 одновременных соединения, а мне ужно 50. Почему оно одновременно поддерживает только два? Ведь у меня в настройках ConnectionLimit выставлено все как положено:
Uri _Uri = new Uri(_url); ServicePoint sUri = ServicePointManager.FindServicePoint(_Uri); sUri.ConnectionLimit = 50; Короче вот сам код: HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(_url); request.Method = "POST"; request.Timeout = 1800000; request.Accept = "**"; request.KeepAlive = true; request.Proxy = new WebProxy("154.111.23.90",3128); byte[] _Data = Encoding.GetEncoding(1251).GetBytes("Test"); request.ContentLength = _Data.Length; Stream sendStream = request.GetRequestStream(); sendStream.Write(_Data,0,_Data.Length); sendStream.Close(); var response = request.GetResponse(); MessageBox.Show(response.ToString()); response.Close(); И вот что ещё интересно, когда коннектишся не через прокси, тоесть через свой IP то работает правильно, т.е. делает 50 соединений одновременно. А вот если через прокси - только 2 . Почему так, вообще непонятно.. И они кстати эти соединения как бы становятся на очередь.. тоесть сначала первые два из пятидесяти соединения коннектятся, потом следующие два, потом следующие и следующие и так далее пока все 50 что я установил не завершатся. Но почему одновременно то нехочет коннектить неясно. Приложение работает в многопоточном режиме асинхронно, в код выше я включил только самое основное чтобы незабивать вам головы мусором. Ну вот такие дела. Кто может сталкивался, или знает как исправить подскажите. Спасибо. |