Пишу клиентов почтового сервера под Линух, которые работают с сервером по протоколам SMTP и POP3. В случае обмена почтой Линукс - Линукс проблем не возникает, а вот Линукс - сервер-Windows2003 нет, при этом встроенные средства самого Линукса (Kmail, Telnet) работают вполне успешно. Следовательно, сам сервер настроен правильно. Но моему клиенту на команду вообще никакой ответ не даёт и диалог не возможен.
Подскажите пожалуйста в чем же может быть соль проблемы? Ошибки в плане неправильный хост и порт иключены. Если есть ссылки на описание SMTP- и POP3-серверов Windows2003 напишите пожалуйста.
Заранее благодарю.
>Пишу клиентов почтового сервера под Линух, которые работают с сервером по протоколам
>SMTP и POP3. В случае обмена почтой Линукс - Линукс проблем
>не возникает, а вот Линукс - сервер-Windows2003 нет, при этом встроенные
>средства самого Линукса (Kmail, Telnet) работают вполне успешно. Следовательно, сам сервер
>настроен правильно. Но моему клиенту на команду вообще никакой ответ не
>даёт и диалог не возможен.
>Подскажите пожалуйста в чем же может быть соль проблемы? Ошибки в плане
>неправильный хост и порт иключены. Если есть ссылки на описание SMTP-
>и POP3-серверов Windows2003 напишите пожалуйста.
>Заранее благодарю.tcpdump -vvvnX Вам в помощь.
Обрати на опции сокетов (к примеру, TCP_NODELAY). Возможно, придется MSS изменять.
А вообще, запиши обмен Kmail'a tcpdump'ом и приведи свой протокол к тому, что записан.
>не возникает, а вот Линукс - сервер-Windows2003 нет, при этом встроенные
>средства самого Линукса (Kmail, Telnet) работают вполне успешно. Следовательно, сам сервер
>настроен правильно. Но моему клиенту на команду вообще никакой ответ не
>даёт и диалог не возможен.если вы в конце строки указываете только один символ: либо только символ перевода строки - '\n' == 10, либо толко символ возврата каретки - '\r' == 13, это может быть причиной нерабоспособности протокола. В большинстве сетевых протоколов перевод строки состоит из последовательности двух символов "\n\r".
>если вы в конце строки указываете только один символ: либо только символ
>перевода строки - '\n' == 10, либо толко символ возврата каретки
>- '\r' == 13, это может быть причиной нерабоспособности протокола. В
>большинстве сетевых протоколов перевод строки состоит из последовательности двух символов "\n\r".
>
Большое спасибо за помощь, это именно то чего мне не хватало.
>В большинстве сетевых протоколов перевод строки состоит из последовательности двух символов "\n\r".Я все же думаю что "\r\n", по крайней мере так все реализации пишут