68user's page 掲示板

Prev< No. 723> Next  [最新発言に戻る] [過去ログ一覧]
No. 723 # たまり 2000/02/14 (月) 05:02
返事が遅くなって申し訳ないです。
ここ二日ほど色々あって何もできませんでした(^^;

> FTPd が STOR 先のファイルをオープンし続けているということですね。
です。FTPd側の問題という可能性も無くはない気もしますが(但し、普通の
クライアントを使用した場合は当然ながらうまく送信できます)

まず、先程試してみた結果から。

どうやら原因は
> 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてない
だったようです。
これを入れたらまともに動いてくれるようになりました。

念のため、詳しい報告も
> 1.
小さなファイル(数KB程度)でも同様でした
> 2.
削っていません。
> 4.
とりあえずまともに動くようにしようと即興で作っていたので$verbose=1の部分は
削ってました(^^;
本来はそういうときこそ細かくデバッグすべきなんでしょうけど・・・
> 5. 6.
telnetやftpを使えば問題なく送信できます。

なお、1バイトずつ読んでいく方法ですが、
print DATA $buf || die "$!";
ではデータ的に0x30、つまり'0'のところでなぜかdieするようです。
print DATA $buf;
のようにするとうまくいきました。

また、syswriteに関しては使ったことがないのであまりわかりませんが、
引数はsysreadと同様な形で取って、返り値は書き込んだバイト数のようです。
また、binmodeはsysopenでO_BINARYを指定しておけば不要かと思います。

ありがとうございました。

Prev< No. 723> Next  [最新発言に戻る] [過去ログ一覧]