Отправляет email-рассылки с помощью сервиса Sendsay

Программа - smtp + telnet - не выводит команды!!!

Кратко опишу ситуацию:

Пишу программу обработки электронной почты (smtp/pop сервера).

Запуск - через inetd. В /etc/services прописана, в /etc/inetd.conf
прописана (тип - stream, протокол - tcp).

Вывожу приглашение по подключению к серверу ("220 SMTP......"). Завершаю
сообщение как указано в rfc2821 комбинацией CR+LF (0x0D 0x0A). После чего
ожидаю ввод команды (на стадии разработки стоит простая пара scanf/printf).
В конце вывожу "221 Connection close....".

Когда запускаю сервер из командной строки, все нормально, сообщение
выводится сразу, ввод команды работает, после ввода выводится сообщение о
завершении работы и выход в командную строку.

Когда же пытаюсь подключится через telnet, сообщения выводятся только после
завершения связи с сервером: вслепую набираю любую последовательность и
давлю Enter - обрабатывается scanf, после чего telnet показывает мне
начальное сообщение, то, что я набрал и завершающее сообщение.

Подскажите пожалуйста, где грабли и как их обойти.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.discuss&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   d2r Tue, 9 Dec 2003 11:55:11 +0200 (#32123)

 

Ответы:

Здравствуйте, d2r.

Вы писали 9 Декабрь 2003 г., 11:55:11:

Из личной практики - пробуй использовать fflush(NULL), ввод вывод
лучше организовать используя read/write, ну а дальше(раньше)
sscanf/sprintf;

Ответить   Vasile Tue, 9 Dec 2003 14:58:16 +0159 (#32419)