Проект: "Продвинутый" TFTP-клиент
Posted: Fri Nov 26, 2010 7:25 pm
Идея.
Программа, позволяющая без особых усилий ("нажатием одной кнопки") принимать и передавать множество файлов по протоколу TFTP.
Проблема.
При удаленной разработке (например в ос Линукс) возникает необходимость в частом обмене файлами между компьютером разработчика и компьютером (или виртуальной машиной) с Колибри. Если локальная сеть функционирует, то остается только написать небольшую программу, облегчающую этот процесс.
PS: Планирую писать на си.
Последняя версия от 30.12.2010:
-- поддерживает передачу файлов в обоих направлениях
-- обрабатывает параметры, переданные при запуске
-- может исполнять загрузочный скрипт; имя скрипта передается как параметр
Запуск с параметрами: -- загрузить файл с сервера
-- передать файл на сервер
-- выполнить сценарий
Пример скрипта (секции download и upload в любом количестве и в любом порядке):
Синтаксическая ошибка прервет выполнение скрипта. Если возникнет проблема при передаче файла, то он будет пропущен и выполнение скрипта продолжится. Все сообщения выводятся на доску отладки.
Программа, позволяющая без особых усилий ("нажатием одной кнопки") принимать и передавать множество файлов по протоколу TFTP.
Проблема.
При удаленной разработке (например в ос Линукс) возникает необходимость в частом обмене файлами между компьютером разработчика и компьютером (или виртуальной машиной) с Колибри. Если локальная сеть функционирует, то остается только написать небольшую программу, облегчающую этот процесс.
PS: Планирую писать на си.
Последняя версия от 30.12.2010:
-- поддерживает передачу файлов в обоих направлениях
-- обрабатывает параметры, переданные при запуске
-- может исполнять загрузочный скрипт; имя скрипта передается как параметр
Запуск с параметрами:
Code: Select all
newtftpc -d tftp://192.168.0.1/file.txt /hd1/1/files/file.txt
Code: Select all
newtftpc -u background.png tftp://192.168.2.3/pict.png
Code: Select all
newtftpc -e download_script.txt
Пример скрипта (секции download и upload в любом количестве и в любом порядке):
Code: Select all
download
from 10.1.2.2
to "/hd2/1/trash/"
files
"newtftpc",
"git.png",
"hello.txt";
upload
from ""
to 10.2.2.3
files
"background.png";
download from 10.1.2.3 to "/rd1/1/" files "hello world.asm";