最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

20.7.異界TCP/IPへの道(5)-FTPサーバー-

[ Previous ] [ HOME ] [ Upper ] [ Next ]


FTP (File Transfer Protocol)サーバー

今度は、FTPを試してみます。やはり参考は、「AS/400 V3 TCP/IP機能とインターネット」研修用資料です。また、マニュアルは、「AS/400e シリーズTCP/IP 構成および解説書 バージョン 4 資料番号 SD88-5013-02」です。

FTPは、クライアントとサーバーの間で、TCP/IPを利用して、ファイルのやりとりをするものです。PC5250のIEEE802.2で接続すると、「データ転送」が出来ます。これにほぼ、相当するのが、このTCP/IPアプリケーションです。ただし、PC5250のデータ転送では、FDF(File Description File)で、フィールド情報を持ち、パックフィールドの有無が分かるため、データにパック数字フィールドがあっても、PCには、PC数字へ変換できます。自分としては、そんなの当然だと思っていましたが、このFTPは、レコード単位に一括して、SJISに変換するために、パックの部分は、単におかしな文字データとして、エラーになるようです(試しませんでした)。よって、パック数字のフィールドを持っているデータをPCで使いたい目的で、AS/400からFTPからダウンロードする場合(またその逆も)、このFTPは使えません。

FTPの属性定義

よく分からないで、設定してしまったのですが、非活動タイムアウト1000秒が、16.6666分であることに、注目して下さい。知っていれば、60の倍数にしたんですけど...

FTPサーバーの開始

STRTCPSVR *FTPを実行します。手っ取り早く確認の為に、ブラウザで、FTPを利用してみます。

URLに入力するのは、

ftp://ユーザー名:パスワード@ホスト:21/パス

の形式です。パスワードはしてしなければ、問い合わせのウインドウが出てきます。

これで、データをPCにダウンロード出来るのですが、ファイルが、Binayになるらしく、PC上では読めませんでした。そこで、FTPコマンドを利用してみようと思います。尚、上記のライブラリーが、xxx.libとなっていますね。名前形式です。ローカル・システムで使用するファイル命名形式のことです。コマンドで変更できます。

AS/400e シリーズ TCP/IP 構成および解説書 バージョン 4 資料番号 SD88-5013-02

.12.55.2 ファイル構造とパス名

ファイル・システムの構造とファイル・パス名指定とは、システムによって異なります。たとえば、NAMEFMT 0 を使用した AS/400 QSYS.LIB ファイル・システムは、次の形式を持ちます。

Libname/Filename.Mbrname

NAMEFMT 1 を使用した場合の形式は、次のとおりです。

/QSYS.LIB/Libname.LIB/Filename.FILE/Mbrname.MBR

さらに、UNIX ベースのシステムでは、次のような指定が可能です。

/etc/hosts
/usr/jack/test.c
/usr/*

すべてのシステムが同じキーボードや文字セットを使用するわけではありません。そのため、パス名の指定が難しくなることがあります。たとえば、一部のシステムでは、パス名の中に「[」文字と「]」文字とを使って、ファイル名のディレクトリー部分を表します。IBM 52xx スタイルのキーボード、または 52xx をエミュレートする IBM パーソナル・コンピューターを使用している場合は、これらの文字は、「」文字と「..」文字として表示されます。また、「[」文字と「]」文字も、キーボードで入力することはできません。代わりに「<」文字と「>」文字を入力する必要があります。

NAMEFMT 1では、拡張子に、savf, srcpf, file, pf, lf などもあるようです。 

転送

  • PC <--[get]<-- FTP Server

  • PC -->[put]--> FTP Server

このFTPのコマンドは、あくまで、クライアント側の立場で命名されています。

  • PC(クライアント)がFTPサーバーからデータを受け取る(ダウンロード)ならば、クライアントがデータを取る(get)、

  • 逆に、PC(クライアント)がFTPサーバーへデータを渡す(アップロード)ならば、クライアントがデータを出す(put)、

となっているようです。

試しに、以下のソースをPCへ転送してみましょう。

SYSVAL QCCSID=65535でやってみました。

WindowsNT上で、コマンド窓から、ftpを開始して、あれあれあれ?なんだこの、マスクは?これは、どうも、英語の小文字を出せない様ですね。もしかして、CCSIDの問題かな?

よし、他にも手があるだろうけど、QCCSIDを65535から5035に変更してみよう。すると、おお、きれいに表示されたぞ。

追記 2000-2-2

Let's master AS400のQA/400 (Commnuication)で、 この問題のPTFが有るとの情報が出ていました。昔は全部大文字だったのだそうです。

220 Connection will close if idle more than 16 minutes.ってでていますね。1000秒=16.666分だからです。

しかし、入れる言葉が多いな。何度もやったので、覚えてしまった。

  1. ftp 192.168.0.4

  2. quote site namefmt 1

  3. quote type b 1(下では実はタイプミスしています。何がいけないか分かりますか?)

  4. get /qsys.lib/tklib.lib/ftpsrc.file/test.mbr g:\wrk\test.txt

  5. quit

あれ?漢字が化けている?どうしてだろう。

あ、そうか、type b1ではなくて、type b 1 (bと1の間にスペースが一個必要)でした。

おお、うまく行きました。

AS/400をFTPクライアントにする

今まではクライアントはPCだったのですが、今度はAS/400自身をクライアントにします。AS/400とAS/400やAS/400と大型なんかで、使うんでしょうね(多分)。そうそう、QCCSIDは当分5035でやってみます。それから、pc5250の設定は、939にしました。

STRTCPFTPを実行します。

おお、来ました。

ユーザー名を入力します。

パスワードを入力します。

準備完了。DOSと同じですね。試しに、helpと入力してコマンドを確認しましょう。

出た出た。よし、じゃあさっそく、F12を押してコマンドを、....ん?

F12を押すと....うーん、事件だよ、ワトソン君。PC5250 v4.2のCSD5ですけど、...

3回やったけど、F12を押すと、エラーでpc5250が止まる。やーめた。次いこ、次。

WS_FTPを使う

ダウンロードしたWS_FTPだけど、なぜか、ダイアログボックスのフォントがでかすぎて、全部見れません。

仕方ないので、PRO版の日本語をダウンロード。こちらは30日間のみ試用できる。こちらの設定画面は、きちんとウインドウに収まっています。

普通にsvflib.libの内容をリスト表示できてしまったので、もう少し、工夫をしてみましょう。命名形式を1にしてみます。QUOTE site namefmt 1のQUOTEをはずして、初期設定に入力します。(QUOTEに当たる部分は、プログラム内部でしてくれるみたいです。)

よしよし。ちゃんと出ていますね。

今度は、MS漢字モード(ShiftJIS)にしましょう。QUOTE type b 1のQUOTEなしを入れます。前のコマンドとは、セミコロンで分けます。マルチステートメントですね。

あれ?表示しないじゃん。リストの内容がでないよ...

じゃあ、DOS窓から直接FTPコマンドを入れると、...LSコマンドって、type b 1では出来ないではないの...!どうすべ...

ftp021.gif (9120 バイト)

これと同じ内容が、WS_FTPのログに出ています。WS_FTPのせいではなくて、FTPコマンドがそもそもだめみたいです。なんだばかばかしい。

WS_FTPは、結局、データとして、漢字を持たないASCIIか、保管ファイルのようにBinaryを転送するとき、便利です。それ以外はだめですね。

保管ファイルの転送は、うまくいきました。あっけなかったなぁ。

.savfの転送手順

  1. 目的のSAVFをAS/400に作っておく。

  2. FTPで転送する。

これだけで、SAVFがAS/400に作成されます。この後の復元は、普通の保管ファイルからの復元と同じです。ちょっと、疲れました。

以上

2000-1-29


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送