Re: Программа - smtp + telnet - не выводит команды!!!
Здравствуйте, d2r.
Вы писали 9 Декабрь 2003 г., 11:55:11:
d> Пишу программу обработки электронной почты (smtp/pop сервера).
d> Запуск - через inetd. В /etc/services прописана, в /etc/inetd.conf
d> прописана (тип - stream, протокол - tcp).
d> Вывожу приглашение по подключению к серверу ("220 SMTP......"). Завершаю
d> сообщение как указано в rfc2821 комбинацией CR+LF (0x0D 0x0A). После чего
d> ожидаю ввод команды (на стадии разработки стоит простая пара scanf/printf).
d> В конце вывожу "221 Connection close....".
d> Когда запускаю сервер из командной строки, все нормально, сообщение
d> выводится сразу, ввод команды работает, после ввода выводится сообщение о
d> завершении работы и выход в командную строку.
d> Когда же пытаюсь подключится через telnet, сообщения выводятся только после
d> завершения связи с сервером: вслепую набираю любую последовательность и
d> давлю Enter - обрабатывается scanf, после чего telnet показывает мне
d> начальное сообщение, то, что я набрал и завершающее сообщение.
Из личной практики - пробуй использовать fflush(NULL), ввод вывод
лучше организовать используя read/write, ну а дальше(раньше)
sscanf/sprintf;