アプリケーションで、リモートFTP(またはSFTPなど)の場所からディレクトリリストを表示できるようにしたいと思います。リモートディレクトリツリーでファイル/ディレクトリが変更された場合、アプリケーションは関連する変更でビューを更新する必要があります。
ツリー全体をトラバースするのは遅くて無駄なので、FSEvents(Linuxではinotify / kqueues)に沿って何かを使用したいのですが、明らかにこれらのライブラリはファイルシステムベースであり、FTPサーバーへの接続は同じではありませんマウントされたファイルシステムとして。
これらのライブラリを機能させるには、FTP / SFTPでバックアップされたファイルシステムをローカルマシンに実際にマウントしてから、このローカルマウントにFSEventStream(またはkqueueなど)をアタッチする必要があります。FUSEでこれができることは知っていますが、ユーザーが最初にインストールしなくてもFUSEを使用できる方法はありますか?つまり、libfuseとカーネルモジュールをシステムにコピーするためにインストーラーパッケージを実際に実行するプロセスをユーザーに行わなくても、(Mac)アプリケーションにバンドルしてマウントを作成できますか?それは存在すると仮定しますか、それともこれは私のアプリケーションディレクトリ内/dev/fuse
のパスの外に住むことができますか?/dev/
素敵なMacアプリケーションは簡単なドラッグアンドドロップでインストールされます。可能であれば、この方法を維持したいと思います。システムパスにインストールせずに、libfuseを直接使用できるかどうか(ファイルがアプリに含まれている場合)はわかりません。
または、ポーリングせずにFTP経由で変更を監視するためのその他の提案はありますか?