Alex_Golubev 0 17 сентября, 2020 Опубликовано 17 сентября, 2020 · Жалоба Может кто поделиться описанием протокола zmodem? Не смог найти нормальный документ. Нахожу только научно популярные статьи. А охота чтобы было объяснино как передавать и принимать файлы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 17 сентября, 2020 Опубликовано 17 сентября, 2020 · Жалоба Простите, не удержался) Вот, подобная тема) Там в доках должен быть и ZModem. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Golubev 0 23 сентября, 2020 Опубликовано 23 сентября, 2020 · Жалоба Пытаюсь изучить протокол Zmodem. Терминал teraterm. передача файла по zmodem. Терминал "72 7A 0D" отвечаю "0" --получаю--> "2A 2A 18 42 30 30 30 30 30 30 30 30 30 30 30 30 30 30 8D 8A 11". Не понимаю где символы "CR LF"? Символ "XON" в конце есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Golubev 0 5 октября, 2020 Опубликовано 5 октября, 2020 · Жалоба После получения пакета ZFILE сразу получаю пакет в котором содержится название файла -?- конец + CRC16 |68 65 6C 6F 75 57 6F 72 6C 64 2E 74 78 74 2E 74 78 74 | 00 31 36 20 31 33 37 33 34 32 35 34 35 30 35 20 31 30 30 36 34 34 00 | 18 6B 3B 64 Название файла Что эта заданные ? конец + CRC16 Может кто подскажет что это за данные ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GeorgK 1 11 октября, 2020 Опубликовано 11 октября, 2020 · Жалоба Классическое описание протокола: http://gallium.inria.fr/~doligez/zmodem/zmodem.txt Пользовался им в те времена, когда ваял свою терминалку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Golubev 0 27 октября, 2020 Опубликовано 27 октября, 2020 · Жалоба Вот мучает меня вопрос как правильно принимать пакеты, решений много, но какое правильное не понятно . Начну с примера: Есть такой пакет называется ZFILE ---> "68 65 6C 6C 6F 77 6F 72 6C 64 2E 74 78 74 00 31 37 20 31 33 37 33 36 37 33 36 32 35 34 20 31 30 30 36 34 34 00 18 6B 18 51 4A" который несет в себе названия файла и в конце контрольную сумму. Как мы понимаем название файла может быть и малым и большим длина получается разная. Привязываться к "ZCRCW" в пакете тоже без мысленно так как он равен 'j' и в названии файла тоже может присутствовать 'j'. Как вариант заводить таймер и отчитывать временные интервалы между приходом байтов. Если временной интервал больше "30 секунд" то считаем что данные не пришли и начинай сначала. А концом пакета будет контрольная сумма. Как получили нуль после подсчета crc то сразу пошли раскладывать пакет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 27 октября, 2020 Опубликовано 27 октября, 2020 · Жалоба Автор, не надо на каждый возникающий вопрос создавать новую тему. Соединил с предыдущей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grigorij 0 27 октября, 2020 Опубликовано 27 октября, 2020 · Жалоба Просто посмотрите готовые реализации и выберете ту, которая вас устраивает для вашей же программы. Ну вот хотя бы этот вариант с GitHub - см функции zmodem_rx и ниже, а лучше вообще весь исходник. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Golubev 0 27 октября, 2020 Опубликовано 27 октября, 2020 · Жалоба Это я все уже смотрел. Меня интересует как правильно сделать, по времени и ждать конца по контрольной сумме (в вашем примере время тоже используется)? Или как-то еще ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться