[mdk-re] [JT] Help need

Gosha =?iso-8859-1?q?gosha_=CE=C1_sendmail=2Eru?=
Ср Окт 3 18:17:12 MSD 2001


Hi All!

Раскажу все по-порядку.
Встала такая задачка - нужно сделать доступ с вин-машин к com-порту,
находящемуся на удаленной Linux-машине. Порылся в и-нете. Ничего
подходящего не нашел. У нас есть программист, пишущий на С, но он
никакого отношения к Linux никогда не имел. Но решил попробовать.
Поглядев исходники того, что я нашел по этой теме (того, что нас
не устроило), он взялся за дело.
Достаточно быстро была написана соответствующая программка-демон.
Все вроде бы заработало. Но столкнулись с такой проблемой.
Если из ком-порта принимается текстовый файл, то проблем нет,
а вот если двоичный (по протоколу z-modem), то прием не происходит
из-за "ошибки во время према пакета" (это z-modem сообщает).
Начали разбираться в чем дело, обнаружили следующее.
Все дело в любом байте, содержащем 0xFF. Т.е. все байты, имеющие коды
от 0 до 0xFE, проходят без проблем, а вот этот FF почему-то приходит
в удвоенном количестве. Т.е. если, например, попытаться принять файл,
содержащий один байт, равный 0xFF, соответсвенно имеющий длину равную
1 байту, то из ком-порта, к нашему удивлению, мы получаем 2 байта,
равных 0xFF. Мы уже два дня голову ломаем, ничего придумать не можем.

Почему этот FF удваивается?
Если нужны исходники нашего демона, готов выслать.

Помогите плиз. Очень нужно. 

-- 
Best regards!
Igor Solovyov
Zlatoust, Russia




Подробная информация о списке рассылки community