FTP 서버를 코딩해야하며 데이터 전송 방법에 문제가 있습니다.소켓을 통해 바이너리 데이터를 송수신하는 방법은 무엇입니까?
나는 그것을 테스트하기 위해 ftp 명령을 사용하고 있으며 현재 작업 디렉토리에있는 파일/디렉토리 목록을 보내는 LIST
을 작업 중입니다.
WARNING! 5 bare linefeeds received in ASCII mode
File may not have transferred correctly.
은 내가 FTP 이진 데이터를 기대하고있다 생각하지만 난 '돈, 그 경고를 제거 할 것입니다 : 모든 벌금 인쇄 다음과 같은 경고가 ftp를 제외하고 (FTP 아니라 파일의 목록을 인쇄) 작동 t 소켓을 통해 그런 식으로 데이터를 전송하는 방법을 알고, 나는 현재 ls
결과를 전송하는 가장 기본적인 방법을하고 있어요 :
LIST
명령 즉, netascii를 그것의 결과를 보내도록 지정합니다 dup2(dst_channel, 1);
execlp("ls", "ls", "-l", NULL);
FTP는 줄 바꿈이 CR-LF가 될 것으로 예상하지만 LF 만 보내는 것입니다. – Barmar
명령 'ls'의 결과를 읽고 CR-LF로 모든 LF를 바꿀 필요없이 변경할 수 있습니까? –