Протокол для обновления прошивки.
Модераторам - не знал в какой раздел, если что перенесите.
Ваяю тут бутлодырь.
Все хорошо и замечательно работает.
И решил прицепить фичу автообновления прошивки с удаленного сервера.
Девайс может иметь на борту или езернет или вифи, это не существенно.
Столкнулся с небольшой проблемкой.
Существенно вот что: протокол должен обеспечивать блочную передачу с подтверждением (так как в рам все не поместится и шить нужно частями). Простой способ установки соединения и запроса. Желательно как то получать информацию о файле (размер, дату и время изменения).
В уме 3 протокола http, ftp, tftp.
tftp - самый простой и удобный, но. За натом есть проблема с установкой соединения, после подключения сервер отдает данные по другому порту.
Нет информации о файле.
http - тоже, довольно просто (хотя и сложней чем UDP). Отдает в заголовке информацию о файле, но. Файл передается не блоками, а непрерывно и процесс этот можно тормознуть только на уровне TCP (задержкой ack пакета), этот вариант не есть хорошо (не всегда можно применить, так же может нарушиться порядок пакетов).
ftp - опять же TCP плюс гемор в установке соединения. Авторизация, установка второго соединения для передачи данных.
Кто что посоветует по этому поводу? Что то же должно быть? Конечно проще написать своего демона под линуксом, что бы отдавал то что мне нужно, но хочется что то стандартное.
В пределах локальной сети - tftp без вопросов.
Последний раз редактировалось sat_art; 09.12.2019 в 14:43.
|