Форум сайта python.su
Вопрос такой.
Есть самописный сервер на socket, к нему обращается клиент, отправляет данные.
После получения данных надо закрыть подключение на сервере, но клиенту об этом не сообщать.
Как это можно сделать?
Отредактировано (Окт. 22, 2009 20:04:25)
Офлайн
В смысле? close без shutdown?
Офлайн
По типу iptables tarpit, только на верхних уровнях?
Офлайн
Не совсем, если я сделаю close, то, насколько я понимаю, клиент тоже “отвалится”.
alrond
Именно.
Офлайн
Если не секрет, зачем такое понадобилось?
P.S. А может задействовать os.system('iptables … TARPIT') (ну или что-нить близкое)?
Офлайн
Не секрет - способ избежать подбора паролей к аккаунтам создавая большие таймауты, но с освобождением своих ресурсов.
Не пойдёт, надо кроссплатформенное, или, как минимум, под мастдай.
Офлайн
Думаю, что на таком уровне ничего нет. По крайней мере я не встречал точно.
ИМХО, надо брать Си и писать для сетевого ядра конкретной ОСи. Кстати нечто подобное не помешает сообществу.
FerromanНу да, если говорить об освобождении своих ресурсов, то точно не пойдёт. :-)))
Не пойдёт, надо кроссплатформенное, или, как минимум, под мастдай.
Офлайн
FerromanА не проще ли использовать стандартные методы? Ограничить кол-во попыток, например.
Не секрет - способ избежать подбора паролей к аккаунтам создавая большие таймауты
Офлайн
А что если запускать соединение отдельным потоком, а потом убивать его девятым сигналом?
Офлайн
Из стандартного socket такого не выжать.
На винде closesocket неявно вызывает shutdown. Сильно облегчает программирование - но только не в вашем случае.
Офлайн