|
FTP는 기본적으로 제어용 소켓 연결과 Data전송용 소켓 연결 2개가 필요합니다.
평상시에는 제어용 소켓만 사용하며, 님이 받으신 메시지는 제어용 소켓연결에서 얻어지는거죠.
데이터 전송을 위해서 특정 명령이 성공하면 바로 소켓을 열어줘야 합니다. 저도 자세한건 RFC를 봐야 알겠네요. 가물가물..
아무튼.. 대충의 스토리는 이렇게 되는 거니까요.. 프로토콜 관련 문서들을 찾아보시기 바랍니다. PORT명령인데.. 냠..
모라 님이 쓰신 글 :
: IdFTP1->WriteLn("LIST -arF");
: FTP =IdFTP1->ReadLn(EOL,20);
:
: 이거 정말 저로선 해결을 못해서 여기다 언제나 물어보네요..
:
: idftp상에서 list 값을 보냈습니다.(list-> 그쪽에 파일과 디렉정보 출력.)
:
: 그래서 그 list에 대한 결과값을 받을려고 ReadLn을 보냈는데...
:
: 읽히는건 150 Opening BINARY mode data connection for /bin/ls가 나오더군요.
:
: 대체 결과값은 어디로 보내지는 거죠? 혹시 데이타는 20포트로 보내진다던데 ..
:
: 그쪽에서 받아야 하는건지.. 타 ftp 프로그램처럼 해볼려겨 하는데 언제나 막히네요.
:
: 혹시나 아시는분 도움 바랍니다.
|