Възложено ми е да напиша C++ програма на платформа Windows за извличане на текстов файл от отдалечен сървър с помощта на zmodem през сериен порт. Почти същото като този човек но на windows.
Ето къде съм заседнал: мога да говоря със сървъра чрез сериен кабел, но когато сървърът изпрати файла, той използва zmodem protcol, така че виждам, че сървърът ми изпраща rz\r**.B00000000\r
Затова прочетох спец. за протокола zmodem, но не разбирам как да започна получаване на файла. Изпращам ZRINIT според заглавния файл споменато в спецификацията. Но прехвърлянето на файлове не започва.
Моят въпрос е следният. Мога ли просто да изпратя байтове, когато ми бъде дадена заявка за изпращане на файл и да очаквам да започна да получавам пакети? Може би изпращам грешен код? в такъв случай има ли пример за това как да кодирам. Трябва ли да не си давам труда да се опитвам сам да напиша протокол и да намеря библиотека, която прави това за мен автоматично? Ако е така съществува ли за windows? Или трябва да търся програма за комуникация, която приема входове от командния ред?
Наистина просто имам нужда от съвет как да продължа.
Четох за sexyz, но не мога да намеря страницата за изтегляне.
Всеки принос е добре дошъл.
АКТУАЛИЗИРАНЕ
разбрах малко повече за протокола. Спецификацията споменава в раздели 8 и 12 как работи транзакция между подател и получател. От това успях да дешифрирам кода за някои заглавки като ZRQINIT, ZRINIT, ZFILE... например
char ZRINIT[]={42, 42, 24, 66, 48, 49, 48, 48, 48, 48, 48, 48, 50, 51, 98, 101, 53, 48, 13, -118, 17,0}
Все още ми липсват много, а именно ZRP0S, ZRFIN. Ако някой може да намери връзка към мястото, където са дефинирани тези низове, това ще ми помогне много.