2

ゲームの専用サーバーのランチャーであるプログラムを作成しています。サーバーを変更すると、クライアントを変更する必要があるため、変更されたファイルのみをダウンロードし、古いファイルを上書きしないようにします。ドロップボックスを使用してファイルを保存しています。これどうやってするの?

4

3 に答える 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 に答える