0

ルーターに接続された 3 台のマシン (A、B、C) があります。A、B、C は同じサブネット内にあります。これら 3 つのマシンはすべて、STAF を使用して相互接続されています。マシン A を FTP サーバーとして使用し、マシン B を FTP クライアントとして使用しています。マシン CI から STAF コマンドを使用して、マシン B で FTP プログラム (TCL スクリプト) を開始しています。

問題は、A と B の間で FTP トラフィックが流れているかどうかを C がどのように知るかということです。

4

2 に答える 2

0

ftp パッケージftp::Openを使用すると、コマンドで進行状況モニターのコールバックを指定できます。

package require ftp

proc progressMessage {bytesSoFar} {
    puts "Transferred $bytesSoFar; looking good..."
}
set handle [ftp::Open $A $user $pass -progress progressMessage]

# Everything after this is just standard for the ftp package
if {$handle < 0} {
    error "could not connect"
}
if {![ftp::Get $handle $remoteFile $localFile]} {
    ftp::Close $handle
    error "could not transfer"
}
ftp::Close $handle
puts "Transfer completed"

これにより、チャンクが転送されるたびにメッセージが出力されます (チャンク サイズは、オプションをftp::Open介して-blocksizeオプションで構成できます。デフォルトでは 4096 です)。最新のネットワークでは、これはおそらく非常に高速にメッセージを書き込みます…</p>

于 2013-09-18T19:37:20.013 に答える
-1
package require ftp
set handle [::ftp::Open $host $user $passwd]
if {$handle < 0} {
    error "Connection refused!"
    return 0
}
于 2013-09-18T04:39:04.600 に答える