Ich bin ein FTP-Server als ein Schulprojekt erstellen, funktionieren die meisten Befehle und ich fast genagelt PORT
(aktiven Modus für die Datenübertragung)."bare linefeeds empfangen im ASCII-Modus" Warnung beim Auflisten Verzeichnis auf meinem FTP-Server
Starten meinem Server mit ftp wie so:
ftp localhost 4242 // where 4242 is the port on which my server is listening
Und mit dem Befehl ls
nach der Anmeldung erhalte ich eine Arbeits ls
Ausgabe von dieser Nachricht folgt:
ACHTUNG! 8 reine Zeilenvorschübe, die im ASCII-Modus empfangen wurden Die Datei wurde möglicherweise nicht korrekt übertragen.
Bitte beachten Sie, dass, wenn ls
in ftp
verwenden, ist es vor der Verwendung des LIST
Befehl automatisch auf Aktiv-Modus schaltet.
Was bedeutet dieser Fehler?
Volle Leistung:
200 Active Mode Enabled.
150 Directory listing.
total 56
drwxrwxr-x 4 kade_c kade_c 4096 mai 12 15:24 .
drwxr-xr-x 38 kade_c kade_c 4096 mai 12 14:58 ..
drwxrwxr-x 8 kade_c kade_c 4096 mai 12 15:17 .git
-rw-rw-r-- 1 kade_c kade_c 1726 mai 11 10:35 Makefile
-rw-rw-r-- 1 kade_c kade_c 161 mai 11 11:43 README.txt
-rwxrwxr-x 1 kade_c kade_c 29368 mai 12 15:24 server
drwxrwxr-x 4 kade_c kade_c 4096 mai 2 18:40 server_src
WARNING! 8 bare linefeeds received in ASCII mode
File may not have transferred correctly.
226 LIST complete.
Und schließlich ist hier der Teil des Codes, und eine Verbindung mit dem Sockel und macht die ls -la
erstellt:
server_write(client, "150 Directory listing.\r\n");
if (connect_data(client) == -1) // Creates socket and connects to it
{
server_write(client, "520 Impossible to reach client.\r\n");
return;
}
ofd = xdup(1);
xdup2(client->data.socket, 1);
system("ls -la");
xdup2(ofd, 1);
server_write(client, "226 LIST complete.\r\n");
close_data(client, -1);
Ihre ls Ausgabe enthält 8 leer/Leerzeilen angezeigt werden? –
Wie viele Zeilen/Dateien gibt es in der Auflistung? 8? –
Meine Ausgabe ist ein 'System (" ls -la ")' als 'LIST' sollte ich nicht wissen wo die Zeilen herkommen. EDIT: Ich habe die Ausgabe hinzugefügt. –