Board.KolibriOS.org
http://board.kolibrios.org/

Проект: "Продвинутый" TFTP-клиент
http://board.kolibrios.org/viewtopic.php?f=40&t=1618
Page 1 of 1

Author:  Foldl [ Fri Nov 26, 2010 7:25 pm ]
Post subject:  Проект: "Продвинутый" TFTP-клиент

Идея.
Программа, позволяющая без особых усилий ("нажатием одной кнопки") принимать и передавать множество файлов по протоколу TFTP.

Проблема.
При удаленной разработке (например в ос Линукс) возникает необходимость в частом обмене файлами между компьютером разработчика и компьютером (или виртуальной машиной) с Колибри. Если локальная сеть функционирует, то остается только написать небольшую программу, облегчающую этот процесс.

PS: Планирую писать на си.


Последняя версия от 30.12.2010:
-- поддерживает передачу файлов в обоих направлениях
-- обрабатывает параметры, переданные при запуске
-- может исполнять загрузочный скрипт; имя скрипта передается как параметр

Запуск с параметрами:
Code:
newtftpc -d tftp://192.168.0.1/file.txt /hd1/1/files/file.txt
-- загрузить файл с сервера

Code:
newtftpc -u background.png tftp://192.168.2.3/pict.png
-- передать файл на сервер

Code:
newtftpc -e download_script.txt
-- выполнить сценарий

Пример скрипта (секции download и upload в любом количестве и в любом порядке):
Code:
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";


Синтаксическая ошибка прервет выполнение скрипта. Если возникнет проблема при передаче файла, то он будет пропущен и выполнение скрипта продолжится. Все сообщения выводятся на доску отладки.

Attachments:
newtftpc.kex [3.1 KiB]
Downloaded 189 times

Author:  Serge [ Fri Nov 26, 2010 8:03 pm ]
Post subject:  Re: Проект: "Продвинутый" TFTP-клиент

Есть многопоточная Newlibc. Но для Линукса нужен кросскомпилятор.

Author:  Foldl [ Fri Nov 26, 2010 9:24 pm ]
Post subject:  Re: Проект: "Продвинутый" TFTP-клиент

Хорошо, буду смотреть. Тут ведь дело такое. Хотя пакет menuetlibs уже сейчас собирается в Linux и содержит дополнительно обертки для системных вызовов, имхо, повозиться все равно придется. Сейчас плохо представляю себе ситуацию с этими двумя библиотеками.

Author:  Foldl [ Sun Dec 26, 2010 5:46 pm ]
Post subject:  Re: Проект: "Продвинутый" TFTP-клиент

Первая рабочая версия программы. Поддерживает только закачку. Запускается через RUN с параметрами, например
Code:
/hd2/1/newtftpc tftp://10.1.2.2/kolibri.img /hd2/1/kolibri_01.img
- загрузить образ Колибри или
Code:
/hd2/1/newtftpc tftp://10.1.2.2/newtftpc  /hd2/1/newtftpc
- загрузить самого себя ;)
Обработка параметров простейшая.
Программа пишет большое количество сообщений на доску отладки. Бинарник прикреплю к первому сообщению.

Author:  Foldl [ Wed Dec 29, 2010 8:29 pm ]
Post subject:  Re: Проект: "Продвинутый" TFTP-клиент

Бинарник обновил.
Запускается через RUN с параметрами, сообщения выводит на доску отладки.

Author:  Foldl [ Thu Dec 30, 2010 11:43 pm ]
Post subject:  Re: Проект: "Продвинутый" TFTP-клиент

Добавил возможность передачи файлов на сервер.

Author:  SoUrcerer [ Sat Jan 22, 2011 4:08 am ]
Post subject:  Re: Проект: "Продвинутый" TFTP-клиент

Планируется ли поддержка авторизации?
А когда можно будет работать с ftp-серверами интернета, или уже можно? (у меня не получилось соединиться почему-то)...

Author:  Foldl [ Sat Jan 22, 2011 12:39 pm ]
Post subject:  Re: Проект: "Продвинутый" TFTP-клиент

Это не ftp, а tftp клиент. (http://ru.wikipedia.org/wiki/TFTP)

Данный клиент -- это утилита разработчика. Предназначен в основном для того, чтобы загрузить новую версию программы на хост с колибри для отладки, при том что средства разработки находятся в другой, более развитой ос. Лично мне было удобно писать его в линуксе: компилирую комбинацией клавиш в редакторе, дальше щелкаю в RUN (на компьютере с колибри) чтобы загрузить новую версию, и в другой RUN, чтобы ее запустить. Быстро и просто.

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/