2017-11-15 7 views
0

ファイルが更新されているかどうかをftpサーバーから調べるJAVAのアプリケーションがあります。ファイルが更新された場合は、ファイルを再度ダウンロードします。
ファイルが変更されているかどうかを確認するために、長いポーリングを使用しています。 FTPサーバーに5秒ごとにpingを実行し、ファイルの変更日時が変更されているかどうかを確認します。日付が変更された場合は、ファイルを再ダウンロードします。
ロングポーリング以外の方法でこの操作を実行すると良いでしょうか?ロングポーリングの代わりに?

+4

サーバーへの唯一のインターフェースが標準FTPの場合、いいえ、(長い)ポーリングの代替手段はありません。 FTPサーバーはクライアントの要求に応じてファイルを送信し、通知の仕組みはありません。 –

答えて

1

一般に、更新を確認するための2つの方法があります。

最初に述べたのはあなたが言いましたが、それは定期的に変更をポーリングしています。

第2の解決方法は、特定のアクションが発生すると呼び出される「フック」を登録することです。たとえば、gitリポジトリにプッシュすると、ソースコードのビルドを自動的に開始するフックを作成できます。

あなたの場合、オプション2は適用されません。ファイルが変更されると、FTPサーバーにpingを実行させる明白な方法はありません。