担当:青木義満 yaoki@sic.shibaura-it.ac.jp 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満 yaoki@sic.shibaura-it.ac.jp
FTP(File Transfer Protocol)とは? インターネット初期の頃から存在するプロトコルで、今でもインターネットでよく使用されるプロトコルの1つである。プロトコル上は任意のホスト間のファイル転送を行うことが可能であるが、通常は接続したクライアントとサーバ間の転送に利用される。 詳細は下記を参照 http://ja.wikipedia.org/wiki/File_Transfer_Protocol
ストリームソケットを使った仮想FTPの実現 異なるホスト間で、テキストファイルを送信・受信してみよう。 処理の手順 サーバーを受信側(inet_server_ftp.c)、クライアントを送信側(inet_client_ftp.c) とする。 従来の方法で、サーバー、クライアント間でストリームソケットを使い、コネクションを確立 クライアントから、サーバー側へ送信するファイル名を送る(コマンドライン引数で与えている) サーバー側はこれを受信し、新規ファイルとしてfopen クライアントでファイルの中身をファイルの終端まで読み込み、ソケットを通して送信 サーバー側はこれを受信し、ファイルに書き込む まずは自分でやってみる。その後、友達とホスト名、ポート番号を共有し、 ファイルの送信テストを行ってみる。
ファイル操作関連関数 fgets ファイルからの一行単位での文字列読込 fputs ファイルへの一行単位での文字列書込 fread ファイルからのバイナリデータの読込 fwrite ファイルへのバイナリデータの書込 詳細は以下のページ参照 http://www.bohyoh.com/CandCPP/C/Library/index.html