ゲームの専用サーバーのランチャーであるプログラムを作成しています。サーバーを変更すると、クライアントを変更する必要があるため、変更されたファイルのみをダウンロードし、古いファイルを上書きしないようにします。ドロップボックスを使用してファイルを保存しています。これどうやってするの?
user1178729
質問する
360 次
3 に答える
3
Java 7では、 WatchServiceを使用して通知を受け取ることができます
このAPIを使用すると、さまざまなイベントに登録できます
ENTRY_CREATE – A directory entry is created.
ENTRY_DELETE – A directory entry is deleted.
ENTRY_MODIFY – A directory entry is modified.
OVERFLOW – Indicates that events might have been lost or discarded. You do not have to register for the OVERFLOW event to receive it.
次のコードスニペットは、3つのイベントタイプすべてにPathインスタンスを登録する方法を示しています。
import static java.nio.file.StandardWatchEventKinds.*;
Path dir = ...;
try {
WatchKey key = dir.register(watcher,
ENTRY_CREATE,
ENTRY_DELETE,
ENTRY_MODIFY);
} catch (IOException x) {
System.err.println(x);
}
次に、WatchEventを使用して、ファイルが変更されたことをアプリケーションに適切な通知を呼び出してダウンロードできます。
于 2012-08-29T09:43:09.993 に答える
1
DBを使用してサーバー側でファイルのバージョンを維持するか、チェックサムを使用して変更されたファイルを特定します
于 2012-08-29T09:41:14.183 に答える
0
まず、 Dropbox SDKを見てみましょう。
また、サーバー上の各ファイルに MD5 (その他のチェックサム) が関連付けられていることも確認します。これらのチェックサムをダウンロードして、ローカル マシンにインストールしたファイルと比較できます。チェックサムのいずれかが異なる場合は、必要なファイルをダウンロードできます。
MD5 ハッシュを生成するにはどうすればよいですか? をご覧ください。ファイルの MD5 ダイジェストを生成する方法
于 2012-08-29T09:48:23.077 に答える