Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Roman Chumakov                       2:5020/400     31 Jan 2001  01:12:04
 To : All
 Subject : буферизация входного потока
 -------------------------------------------------------------------------------- 
 
 Диспозиция:
 while(<STDIN>){
     #do useful thing with each input string
 }
 
 Проблема:
 Если в STDIN засунуть огромнейшую строку, в которой нет \n , можно забить
 всю виртуальную память!!!! Т.е. обработки строки не начнется до тех пор,
 пока не примется вся строка.
 А вся строка не примется никогда, т.к. она будет приниматься и
 приниматься....(она гигантская).... И ... "привет память" ...
 
 Вопрос: Как сделать так, чтобы ограничить длину строки.
 Т.е. если лимит превышен - не принимать больше, а сообщить об ошибке
 что-ли...
 
 Для чего это нужно:
 Для http демона , например.
 Если к такому демону подключится и дать на вход:
 GET  i_poshla_voda_zdes'_do_beskonechnosti...
 То демон будет послушно жрать все, что ему, тупому на вход подадут.
 А так, как конца строки не будет.... рано или поздно кончится память....
 
 Хелп.
 
 Спасибо.
 Роман.
 --- ifmail v.2.15dev5
  * Origin: Moscow State University (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 буферизация входного потока   Roman Chumakov   31 Jan 2001 01:12:04 
 Re: буферизация входного потока   Artur Penttinen   31 Jan 2001 09:33:38 
Архивное /ru.perl/54863fb1c738.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional