2013-08-24 3 views
0

Я работаю над приложением (Android), где экземпляры приложения обмениваются данными друг с другом через FTP-сервер. FTP был использован, потому что маршрутизатор, с которым я работаю, может быть FTP-сервером, используя подключенный USB-накопитель.Синхронизация каталогов по FTP

Одной из функций, которые должно выполняться приложением, является синхронизация данных с другими экземплярами. В настоящий момент синхронизация является только аддитивной. Любые данные на сервере, которые не находятся на телефоне, передаются на телефон. Любые данные на телефоне, который не находится на сервере, передаются на сервер. Идея состоит в том, что все данные, созданные на всех телефонах, могут быть взаимно разделены.

Я просмотрел некоторые библиотеки java rsync. Тем не менее, из тех, которые я видел, они либо не поддержаны, либо плохо документированы, либо и то, и другое. Кроме того, rsync не будет работать с оборудованием, с которым я сейчас работаю.

Я использую Apache Commons Net FTPClient. Я создал класс, который строится поверх него, который предлагает методы для push и pull данных с сервера. Однако, если существует библиотека (или подход) там, которая была протестирована полностью или предлагает больше функциональности, я бы хотел ее использовать. Здесь?

+0

«синхронизации» сложная вещь, и в зависимости от того, что это значит для вас, это может быть rellatively тривиальным .... но если вам нужно сделать любая логика на стороне сервера ftp, тогда ftp не является правильным инструментом. используйте что-то вроде rsync over ssh ... http://www.linuxmanpages.com/man1/rsync.1.php – rolfl

ответ

0

То, что вы пытаетесь сделать, выходит за рамки протокола FTP. Это не невозможно, но для этого вам нужно будет проанализировать (конкретный вариант) вывод команды LIST для извлечения временных меток и размеров файлов. Apache FTPClient library может это сделать, хотя степень, в которой он будет работать, зависит от того, что возвращает целевой сервер FTP.

Обратите внимание, что настоящая команда «rsync» использует контрольные суммы для минимизации передач. Решение на базе FTP не может этого сделать.

Похожие:

Смежные вопросы