Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 4, 2011 23:42:00

Gifts
От:
Зарегистрирован: 2010-08-01
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

socket.close() и количество соединений

haize Если у вас в netstat висит много соединений со статусами типа CLOSE_WAIT, FIN_WAIT и прочими отличными от ESTABLISHED. То следует уведомлять удаленный сервер, что данных больше не будет с помощью метода shutdown() с параметром SHUT_RDWR. Но это верно для TCP сокетов, а вот UDP в netstat с такими статусами отображаться не может.

Т.е. ваш метод disconnect должен выглядеть так:

def disconnect(self):
if self.link:
try:
self.link.shutdown(socket.SHUT_RDWR)
except socket.error, e:
if e.errno != 9:
raise
self.link.close()
self.link = None



Отредактировано (Авг. 4, 2011 23:44:25)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version