私のアプリケーションでは、リモートFTP(またはSFTPなど)の場所からディレクトリリストを表示できるようにしたいと思います。ファイル/ディレクトリがリモートディレクトリツリー内で変更されると、アプリケーションは関連する変更を含むビューを更新する必要があります。プロジェクトにroot権限(インストール用)なしでlibfuseを使用しますか? FTPマウント&inotify/kqueue/FSEvents
ツリー全体をトラバースするのが遅く、無駄であるので、私はFSEvents(Linuxの場合はinotify/kqueues)の行に沿って何かを使用したいと思いますが、これらのライブラリはファイルシステムベースであり、FTPサーバーマウントされたファイルシステムと同じではありません。
これらのライブラリを動作させるには、実際にはローカルマシン上のFTP/SFTPでバックアップされたファイルシステムをマウントし、FSEventStream(またはkqueueなど)をこのローカルマウントに接続する必要があります。私はヒューズがこれを行うことができます知っているが、ユーザーが最初にそれをインストールすることなくヒューズを使用することができる方法はありますか?つまり、実際にインストーラパッケージを実行してlibfuseとカーネルモジュールをシステムにコピーするプロセスをユーザーに任せずに、自分の(Mac)アプリケーションとバンドルしてマウントを作成できますか? /dev/fuse
が存在するとしますか、またはこれはアプリケーションディレクトリ内の/dev/
パスの外にありますか?
ニースMacアプリケーションは、簡単なドラッグ&ドロップ&と一緒にインストールされていると私は、可能な場合は鉱山をこのように維持したいと思います。 libfuseを直接使用することができるかどうか不明です(ファイルがアプリケーションに含まれている場合)。システムパスにインストールすることはありません。
また、ポーリングなしでFTP経由の変更を監視するための提案はありますか?
ありがとうございました。私はアプリ内の手動の「リフレッシュ」コントロールに戻らなければならないと思います。 MacFUSEがFSEvents、kqueues、KAuthをサポートしていることを示しているMacFUSEの著者とのこのインタビューに私はつまずきました。しかし、すべてのイベントがクライアント上で発生した場合にのみこれが機能するかどうかはわかりません...私は、ホスト上で発生したイベントがどのようにクライアントに反映されるかを知ることは難しいと感じています。調査では、(とにかくローカルストレージモニタリングのためにFSEventsを使用していますので、sshfsマウントでそれを指摘することは簡単です)。 – d11wtq
Err ... "このインタビュー":http://www.mactech.com/articles/mactech/Vol.23/23.03/MacFUSE-SinghInterview/index.html – d11wtq
どのNFSサーバが通知をサポートしていますか?どのクライアントをそれらのクライアントと一緒に使うことができますか? –