2013-08-24 142 views
0

我正在使用應用程序(Android),應用程序的實例通過FTP服務器彼此共享數據。 FTP已被使用,因爲我正在使用的路由器可以是使用插入式USB閃存驅動器的FTP服務器。通過FTP同步目錄

應用程序要執行的一個功能是將其數據與其他實例同步。目前,同步只是附加的。服務器上不在電話上的任何數據都會傳輸到手機中。手機上任何不在服務器上的數據都會被傳送到服務器。這個想法是所有手機上創建的所有數據都可以相互共享。

我看了一些java rsync庫。然而,在我看到他們要麼沒有維護,沒有文件記錄,或兩者兼而有之。另外,鑑於目前正在使用的硬件,rsync無法正常工作。

我一直在使用Apache Commons Net FTPClient。我創建了一個基於它的類,它提供了從服務器推送和提取數據的方法。但是,如果存在一個已經完全測試或提供更多功能的庫(或方法),我想使用它。在那兒?

+0

「同步」是一個複雜的事情,並且根據這意味着什麼給你,它可能是微不足道的rellatively ....但如果你需要做的在ftp服務器端的任何邏輯,然後FTP不是正確的工具。在ssh上使用類似rsync的... http://www.linuxmanpages.com/man1/rsync.1.php – rolfl

回答

0

您試圖執行的操作超出了FTP協議的範圍。這不是不可能的,但爲了做到這一點,您需要解析LIST命令的(實現特定)輸出來提取時間戳和文件大小。 Apache FTPClient library可以做到這一點,但它的工作程度取決於目標FTP服務器返回的內容。

請注意,真正的'rsync'命令使用校驗和來最大限度地減少傳輸。基於FTP的解決方案不能。

相關: