|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 29 Jan 2001 06:03:13 To : "Vladimir Butenko" Subject : Re: Залип DATA. Re: DJB проснулся (или я проспал?) -------------------------------------------------------------------------------- .su> <94s61e$u8q$1@news.lucky.net> <5n9s49.ike.ln@elf.ihep.su> .su> <94scft$39i$1@news.lucky.net> <btts49.eng.ln@elf.ihep.su> .su> <94tulf$stq$2@news.lucky.net> <3mnv49.tkm.ln@elf.ihep.su> .su> <950hin$330$1@news.lucky.net> <951l0j$plr$1@news.gamma.ru> From: berd@desert.ihep.su (Eugene B. Berdnikov) "Отовсюду к замку стекался народ, заранее радуясь весёлому представлению..." (с) Сказка "Бременские музыканты" :) Vladimir Butenko <butenko@stalker.com> wrote: VB> данных нормальным сервером. Элементарный тест выявляет общую ошибку таких VB> поделок - разбор RFC821-потока. Они его разбирают теми кусками, которыми VB> принимают VB> из сокета. И концом считается не единичная точка на отдельной строке - а VB> единичная VB> точка в отдельном БУФФЕРЕ (пакете). Так что если шлется каким сендмайлом или VB> еще VB> какой песочницей - которая каждуй строку наровит отдельным обращением к тцп VB> отослать, Hеужто думаете, что sendmail - "песочница", исполняющая write(2) на каждую строку? :))) VB> то финальная точка ПОЧТИ всегда приходит в отдельном пакете - и все VB> срабатывает. Программеру проще всего выплюнуть финальный ".\r\n" отдельным write()... :) И если работает line buffering, оно пойдет отдельным пакетом с флагом "push", оторвавшимся от тела мейла, потому что в конце мейла обязан стоять "\n". Вероятность же склеивания пакетов по пути практически равна нулю (да и вообще, разве кто-нибудь склеивает пакеты с PSH?:). -- Eugene Berdnikov --- ifmail v.2.15dev5 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/53531fc180ee.html, оценка из 5, голосов 10
|