FTP サーバーをコーディングする必要があり、データの転送方法に問題があります。
Linuxでftpコマンドを使用してテストしています。現在LIST
、作業ディレクトリ内のファイル/ディレクトリのリストを送信するに取り組んでいます。ftpが次の警告を出力することを除いて、すべて正常に動作します (ftp はファイルのリストを適切に出力します) 。
WARNING! 5 bare linefeeds received in ASCII mode
File may not have transferred correctly.
その警告を削除したいと思います.ftpはバイナリデータを期待していると思いますが、ソケットを介してそのようなデータを送信する方法がわかりません.現在、ls
結果を送信する最も基本的な方法を行っています:
dup2(dst_channel, 1);
execlp("ls", "ls", "-l", NULL);