HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
1226
GrapeColorhspinetのftpput命令についての質問16解決


GrapeColor

リンク

2011/12/26(Mon) 01:50:19|NO.43919

現在開発しているソフトでhspinetのftpputでファイルをアップロードしようとしてるのですが、
上手く成功しません。
ファイルのアップロード自体は成功しているのですが(FFFTPで確認)、
1kbにも満たないファイルなのにftpput命令に15秒前後を要した上、
statにはエラーを示す1が返ってしまいます。
エラーが出たときにftpresult命令でFTP処理結果を取得し、
logmesでログを記録するようにしてあるのでログを確認したところ

220 web.fc2.com FTP Server
331 Password required for chotchat
230 User chotchat logged in

と書いてあったのでアップロードに成功していることがわかります。

この問題の原因が分かる方、解決方法が分かる方いらっしゃいましたら是非教えてください。
サーバーはFC2です。



この記事に返信する


inovia

リンク

2011/12/26(Mon) 02:12:17|NO.43920

hspinetのFTP系命令は stat に 1が返るエラーの場合は、
ftpresultで結果が取得できていないんですよね実は。

220 web.fc2.com FTP Server
331 Password required for chotchat
230 User chotchat logged in

が取れているのはftpopenしたときの結果が残っているだけですね。
ftpopenした直後にftpresultで取得すると同じ文字列が返ってくると思います。

エラーの場合でもftpresultで取得できるように変更したのを置いておきます。
元のをバックアップしたうえ差し替えて使用してください。
http://tkooler.moe.hm/hsp/img/hspinet_kai.zip



inovia

リンク

2011/12/26(Mon) 02:15:02|NO.43921

追記です。
差し替えたhspinetを使用してftpresultの結果がどうなるか確認してください。



GrapeColor

リンク

2011/12/26(Mon) 02:27:01|NO.43922

>>inoviaさん
エラーが起きたとき原因が表示できなかったんですね!

しかし再度試した結果、疑問がまた増えてしまいました。

メッセージが返ってきませんでした。

この前立ったスレでも取り上げられましたが、FC2はアップロードのとき返信しないのでしょうか?



inovia

リンク

2011/12/26(Mon) 02:31:50|NO.43923

変ですねぇ。
こちらでftpputでFC2にアップロードしftpresultで結果を取得すると、

200 Type set to A
200 PORT command successful
150 Opening ASCII mode data connection for test.txt
226 Transfer complete

とちゃんと返ってくるのですが。



GrapeColor

リンク

2011/12/26(Mon) 02:37:04|NO.43924

hspinetのサンプルtest5でファイル一覧の取得を試みましたが
30秒くらい固まったあとファイル一覧を格納する変数resに

@ツロ

と返りました。
謎が増える一方です。

ログインまでは成功するのに・・・。



GrapeColor

リンク

2011/12/26(Mon) 10:17:32|NO.43925

あと、昨日まで(25日)の早朝までは成功してました。
と言うか前にも似たような状況になったような・・・
サーバーは違いますが。
http://hsp.tv/play/pforum.php?mode=all&num=42147



XBG|YAMANOTE231103(PC)

リンク

2011/12/26(Mon) 18:56:11|NO.43934

「結局アドレスを間違えていたオチ」って質問者も回答者も結構脱力します、、
FC2はちょっと前にいろいろ仕様変更でFTP仕様も大幅に変更になってます
ここのところレンタルサーバーLiteは障害も多いようですが、、、
アドレスが合っているなら設定を何度も確認しましょう、としか言いようがありませんねぇ。



XBG|YAMANOTE231103(PC)

リンク

2011/12/26(Mon) 18:58:27|NO.43935

>>GrapeColorさん
>と思ったらできました
>ホスト名をftp://から始めていました^^;

前にこんな発言してましたが、まさか繰り返すなんてことは



GrapeColor

リンク

2011/12/27(Tue) 02:19:32|NO.43947

今回は大丈夫です。
それに
http://hsp.tv/play/pforum.php?mode=all&num=42147
については最初から間違えていたのではなく、途中のnetloadの話題が出たあたりから間違えたのです。



GrapeColor(DION)

リンク

2011/12/27(Tue) 23:33:42|NO.43961

 
http://hsp.tv/play/pforum.php?mode=all&num=42147
の時もそうでしたが、対象のサーバに対してFTP系命令を使い始めた約1日後に不具合が起きています。
これはどういうことでしょう?



GrapeColor(DION)

リンク

2011/12/28(Wed) 11:01:53|NO.43964

昨日いきなりホームゲイトウェイの調子が悪くなりインターネットに繋がらなくなりました。
(時々なるんですが)
「しばらくなってなかったのにどうしたのかな」と思いつつホームゲートウェイをリセットしました。
すると何故か今まで出来なかったFTP系命令が使えるようになりました。

これは何なのでしょう/(^o^)\



GrapeColor(DION)

リンク

2011/12/28(Wed) 11:50:00|NO.43965

いろいろ調べた結果、
動作テストのために小さいファイルを沢山アップロード/削除を繰り返していたため、
ホームゲートウェイのセッションを使い切ってしまったようです。
ただ、FFFTPでは起こらない現象なのに何故HSPでは起きるのでしょう?



GrapeColor(DION)

リンク

2011/12/28(Wed) 11:56:16|NO.43966

レスが多くてすみません。
私はauひかり回線を使っているのですが、
auひかりはパッシブモードでFTPをやらないと数分後にはネットに繋がらなくなるそうです。
ネットに繋がらなくなった場合、リセットすれば直るんですが・・・。

問題はHSPでどうやってパッシブモードでFTPすればいいのか分かりません。

どなたか教えてください。



inovia

リンク

2011/12/28(Wed) 14:10:07|NO.43967

HSP3.3内蔵のhspinetはパッシブモードの指定ができないので改造してみました。
http://tkooler.moe.hm/hsp/img/hsp33_hspinet_passive.zip

標準のhspinet.dllをバックアップしたうえ、HSPのフォルダにコピーして使ってください。

使い方は、

#include "hspinet.as" #uselib "hspinet.dll" #func ftppassive "_ftppassive@4" int

を記述し、


ftppassive 1 ftpopen m_adr,m_user,m_pass

のようにftpopen の前に ftppassive 1 を書いてやるとパッシブモードになります。
0 を指定すると無効になります。



GrapeColor(DION)

リンク

2011/12/28(Wed) 15:17:08|NO.43968

>>inoviaさん
ありがとうございます><
なんとか解決しました。
自分の回線の仕様を理解せずにFTPを使用していたことは私の過ちです。
質問に答えてくださった皆さん有難うございました。



GrapeColor(DION)

リンク

2011/12/28(Wed) 16:04:55|NO.43969

無駄ですが一応最終報告。
今回のトラブルですが、今まで起こったことをまとめます。

プログラム内でFTP系命令を使い始める。
       ↓
auひかりはパッシブモードでFTPを行わないと不具合がおきる。
そのため普通にFTP命令を使ってると何回かで動作が狂う。
       ↓
そっからはFTPOPENで接続できてもftpdirlistでは謎のメッセージが返ったり、
サーバーからのメッセージが受け取れなくなったりする。
       ↓
FTP系命令が狂いだしてから数日後、インターネットが使えなくなる。
       ↓
モデムをリセットするとFTP系命令が使えるようになる
       ↓
FTP系命令をパッシブモードで行う(inoviaさんが提供してくださった機能)
       ↓
今までのトラブルが嘘のように普通にFTPができる。

といった感じです。
au回線を使っている方は注意を・・・



ONION software Copyright 1997-2023(c) All rights reserved.