гипотетическая проблема
писал скрипт на питоне. Обрабатывал поднятие/опускание ppp интерфейсов
Ну с интерфейсами то все ясно. Вот допустим послал я какие-нить данные (строку а связь в этот момент оборвалась. Или оборвалась в тот момент, когда сервер мне посылал ответ, что все ок. Мне все эти ситуации надо руками обрабатывать и придумывать или об этом кто то может позаботиться? Писать действительно буду на питоне вероятней всего.
Скажем так задача мне кажется весьма обыденной и мне почему то кажется, что ее уже кто то решил до меня. Хочу готовый питоновский (или какой то еще) модуль для такого трахомудного общения между С и К.
logrotate + rsync мне кажется без проблем покроют твои затраты.
Теоретизируем!А практики для этого давно UDP используют.
Вообще нужно передать всю информацию без потерь в результате? Или в информации могут быть "перерывы", когда связь отсутствует?
Надо именно все передать до байтика.
торрент фигли
внезапно сигма прав. правда приватность страдает. хотя можно написать правило для фаервола, которые разрешат торренты только с несколькими пирами.
Задачу гарантированности доставки возложить полностью на TCP. Или SCTP.
Или я не понял всех особенностей данной задачи.
доверять мы им совершенно не можемэто только про качество соединения или ещё и про секьюрность? Если только про качество, то TCP\IP даёт гарантированную доставку куска, обработать недоставку легко, номера пакетов раздавать согласно специфике данных. Если секьюрность, то всё чуть хуже, на слабых каналах поверх TCP\IP поднимать не особо приятно шифрованый канал.
Ну там сейчас openvpn как то поднимается o_O. Так что я исключительно про стабильность, но никак не про безопасность.
ну тогда классическое решение - либо просто пересылаем все пакеты с подтверждением и при обрыве циклимся, либо сделать подписку и пересылать занумерованные по какому-нить UDP. (в первом случае дольше, но гарантировать, что прийдёт всё сможем быстрее, во втором - нам не страшен и резет + быстрее, но если потеряются, то прийдётся пересылать). И то и то стандартными функциями делается везде
Оставить комментарий
chriselwart
Допустим есть сервер и некоторое количество удаленных от него компьютеров А, Б, В и т.д.Компьютеры мало того, что удаленные, так еще и с херовыми каналами связи (доверять мы им совершенно не можем, например, это сраные гсм-модемы). Наша задача при появлении возможности (канал поднялся!) начинать передачу некоторой информации с компьютеров на сервер (логи/показания датчиков, которые по сути тоже логи).
Как это лучше всего делать?
Надо учесть, что передача может оборваться. Теоретизируем!