Сокеты перестают работать

 
0
 
Python
ava
LowC | 14.01.2012, 09:14
Уже много времени убил на решение проблемы, но так и не понял, почему сокеты отказываются работать после большого кол-ва переподключений.
Подключение происходит, собсно, в цикле и все происходит макс быстро.
Если код запустить на Вин 7, то ОСь у меня падает под бсодом.
На никсах работает, но до ~24к переподключений, после - все, сколько не тормоши, программа будет висеть на recv(), как сделаешь переподключение к интернету, то все работает снова О_о
Решил попробовать на С++ - вин 7, запустил, через пару секунд тот же бсод.
Что не так то? Почему такие странные реакции, на большое кол-во переподключений?


s = socket.socket(socket.AF_INET, socket.SOCK_STREAM);

try:
s.connect((url, 80));
s.send(rqs);

buff = s.recv(4096);

while(buff):
data+= buff;
buff = s.recv(4096);

finally:
s.close();
Kommentare (2)
ava
bilbobagginz | 28.01.2012, 01:23 #
Цитата (LowC @ 14.1.2012, 07:14 findReferencedText)
Что не так то? Почему такие странные реакции, на большое кол-во переподключений?

попробуй проанализировать как ведет себя система:
1) растет ли количество сокетов ОС в процессе запуска программы
2) как идет ситуация с памятью.
ava
LowC | 01.02.2012, 16:03 #
Ок, над будет глянуть.
Кстати, забыл сказать: даже если на виртуалке запустить код на Python, (Win XP под Win 7), то все накрывается бсодом, комп уплывает в ребут.
У никсов, пока оно висит на recv(), жмешь дисконект, потом снова конект и оно продолжает выкачивать данные - никс хитрожопен )
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden