관심 갖고 빠른 답변들 해주셔서 너무너무 감사해요.
역시 잘 알지도 못하면서 프로그래밍하려니 문제가 많군요.
더 알아보고 확인해봐야죠. 감사합니다.
둘리.CSIEDA 님이 쓰신 글 :
: 문제를 풀기 위하여 네트웍 구축도가 있어야 합니다.
:
: 1. 서버가 직접 internet line 에 물렸는지 아니면 인터넷 공유기와 같은것을 사용하여 포트포워딩을 하는지.
: 2. 클라이언트 역시 인터넷 라인에 직접 물렸는지 아니면 공유기와 같은것을 통하여 포트포워딩을 하는지.
:
: 양쪽에 모두 포트포워딩을한다면 연결이 active 든 passive 든 21번 포트로 연결은 되나
: 데이터를 전송할 포트 연결이 않될 수 있습니다.
:
: Active 와 Passive 모드의 차이는 데이터를 전송할 2차 연결에 사용할 포트를 누가 결정하냐는 문제인데요..
:
: 이것을 여기서 설명하자니 지면 낭비인듯 하고요.
:
:
http://blog.keun.kr/479 를 참조해보세요.. 비교적 쉽게 설명이 되어 있습니다.
:
:
:
:
:
:
: 김정현 님이 쓰신 글 :
: : 씨빌더 2007을 사용하고 있구요.
: : IdFTP를 사용해서 FTP에 접속했습니다. passive 모드로 접속하고 있구요.
: :
: : 문제는 회사에서 IIS 이용해서 PC 한 대에 FTP를 열어 놓고
: : 제 PC에서 접속 테스트한 결과 접속도 되고 파일 리스트도 잘 얻어왔습니다.
: :
: : 그런데 업체에서 테스트 했는데 접속은 되지만 파일 리스트를 못 얻어오네요.
: : 서버에서 사용자 권한 설정 관련한 문제인가 의심해 봤지만
: : 그런데 command 창에서 ftp 주소 입력하여 접속한 다음 ls 명령어로 디렉토리 내용 읽어보면 나옵니다.
: :
: : 답변 좀 꼭 부탁 드려요. 원래 이 쪽 관련해서 프로그램 해보질 않아서 난감하네요.
: :
: : 아래는 directorylisting 얻어오는 부분입니다.
: : IdFTP->DirectoryListing->Count가 0으로 나오네요. ㅠㅠ
: :
: :
: : IdFTP->ChangeDir("/");
: : IdFTP->List();
: : for(int i=0; iDirectoryListing->Count; i++) {
: : if(IdFTP->DirectoryListing->Items[i]->ItemType == ditDirectory) {
: : // .......
: : }
: : else if(IdFTP->DirectoryListing->Items[i]->ItemType == ditFile) {
: : // .......
: : }
: : }
: :