0

アプリを開発していますが、sftpを使用していくつかのファイルをダウンロードする必要があります。gem net-sftpをインストールしましたが、正常に動作します。このページで見つけた監視プロセスを使用して:http://net-ssh.rubyforge.org/sftp/v2/api/、ターミナルで進行状況を確認できます。重要なのは、プロセス中に何が起こっているかをユーザーに確認させ、進行状況バーを表示し、ユーザーインターフェイスに監視ラインを表示したいということです。

私は多くのことを試しましたが、どれもうまくいきません。ダウンロードループに入ると、インスタンス変数を変更できないため、監視データを保存してjavascriptで表示することができません。alter-filtersも機能しません。

UIで使用するために情報をループに保存する方法がわかりません。何か案が ?

4

2 に答える 2

0

私は似たようなことに飛び込もうとしていますが、これが私のアプローチになると信じています。現在、サーバーがその場所にアクセスしてファイルをダウンロードしています。それが起こっている間、私はサーバーにファイルのファイルサイズを約5秒ごとにチェックさせ、サイズを報告します。ファイルサイズを取得して、ダウンロードが開始される前に報告すると、進行状況を提供できると思います。

于 2015-06-14T15:00:59.210 に答える
0

このようなことが起こっていると仮定します...

1. client ----> 'do sftp tranfer' ----> server
2.                                      server ------> 'doing sftp'
3. client <---- 'done sftp' ----------- server

簡単に言えば、この状況ではクライアントを簡単に進行させることはできないということです。

より長い答えは、進行状況を送信するためにクライアントで何らかのストリームを開く必要があるということです。

1. client ----> 'do sftp tranfer' ----> server    
2.                                      server ------> 'doing sftp'
3. client <====> 'open stream'    <===> server
4. client <---- 'OK' -----------        server

ここでのトリックは、ストリームと sftp を実行しているサーバー上の 2 つのプロセス間で通信することです。s

于 2012-07-24T06:15:43.433 に答える