FTPでファイル有無調査に関して – プログラミング – Home

FTPでファイル有無調査に関して
 
通知
すべてクリア

FTPでファイル有無調査に関して


ねこ
 ねこ
(@ねこ)
ゲスト
結合: 22年前
投稿: 94
Topic starter  

FTPでファイル有無調査に関して
CFtpFileFindで特定のフォルダのファイル有無の調査をしていた所、
SunOS下のフォルダのファイル有無調査で失敗してしまいました。
ちなみに、Linuxで行うとうまくいきます。
「SunOS 5.10」が対応されていないのか、使い方が悪いのか、解りません。
ご教授をお願いします。

以下のようにロジックを組んでいます。

bRet = clFind.FindFile(_T(SunOS/ccc/));

bRet = clFind.FindNextFile();

strTmp = clFind.GetFilePath();

strTmpの中身
SunOS/ccc/11・ 15:00 ファイル名
->本来はが「SunOS/ccc/ファイル名」が正しいのですが・・・

<環境>
Microsoft Visual Studio 2008
Windows7
サーバ:SunOS 5.10


引用解決済
トピックタグ
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

それは仕様というか制約事項というか・・・

ftp のプロトコル上 ftpd (サーバ側) の返事フォーマットは厳密に定まっていない。
テストに使った linux (上の ftpd) に対する ls -l の返事と
同上 SunOS 5.10 (上の ftpd) に対する ls -l の返事と
形式が違っているはず。
(妄想と憶測するに前者は全部英語、後者は一部に日本語が混じっている)
(ないしは情報の出力順や、出力されるカラム位置が違う)

CFtpFindFile は ftpd の返した「文字列」を適宜解釈して、その文字列から
ファイル名や日付を取り出すので、知らない形式を返す ftpd に対しては誤動作する。

SunOS 5.10 の ftpd の設定を変えて CFtpFileFind が知っている形式を返させるか
SunOS 5.10 の ftpd を CFtpFileFind が知っている形式を返すものに入れ替えるか
その辺の対処が必要。 Windows 側をいくらいじっても無駄。


返信引用
ねこ
 ねこ
(@ねこ)
ゲスト
結合: 22年前
投稿: 94
Topic starter  

申し訳ありません。
FTPにはあまり詳しくなく、「ftpd の設定を変更する」というのは
具体的にどのような事をすればいいですか?


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

それは SunOS のマニュアル参照・・・ってことになるのかな。
ウチにあるのは HPUX / Linux だけなので解説できないよ、と。
まずは ftpd の具体的ファイル名を調べて man ftpd (なり man proftpd なり) から。

SunOS の root の人とっつかまえて聞いてみる方が解決が早いかも。

っつうか、俺のコメントは Linux の ftpd の応答と SunOS の ftpd の応答が違う
ことを前提として書いているわけだが、本当に違うかどうか確認した?
ftp 上で ls -l したときの応答が同じなのに CFtpFileFind が値を返さないのなら
原因は違うところにあるわけで。


返信引用
ねこ
 ねこ
(@ねこ)
ゲスト
結合: 22年前
投稿: 94
Topic starter  

調べてみました。
LinuxとSunOSでは、「ls -l」の応答は異なるようです。
ftpdについて、manで調べてみます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました