C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[16422] ftp list의 패킷전송에 대한 질문 winsock과 ftp관련.
모라 [goodlsw] 1763 읽음    2002-03-16 18:21
  SOCKET s;
   SOCKADDR_IN addr;

   char buf2[1024];
    int i,len;

   s=socket(AF_INET, SOCK_STREAM, 0);

    if ( s != INVALID_SOCKET )
    {

        addr.sin_family = AF_INET;
        addr.sin_port = htons(4643);

        addr.sin_addr.s_addr = inet_addr("xxx.xxx.x.xxx"); //내 주소값.

     if( bind(s, (LPSOCKADDR)&addr, sizeof(addr)) != SOCKET_ERROR )
     {
          FILE *fp;
          fp = fopen("test.pck", "wb");

        while (true) {
            len = recv(s, buf2, 1024,0);
            if (len <= 0)
                break;
            fwrite(buf2, len, 1, fp);
        }
             fclose(fp);

      }
    }
      IdFTP1->WriteLn("TYPE ASCII");
   IdFTP1->WriteLn("PORT xxx,xxx,x,xxx,18,35"); //내 주소의  포트 18*256+35=4643.
   IdFTP1->WriteLn("LIST -RF");



위와같이 하여 포트를 열고 ftp쪽 서버가 전송해주는 LIST값을 받을려 합니다.

포트는 열고 대기하는건 확인이 되더군요. 그런데 ftp쪽에 명령을 주어

자료를 전송하면..거부가 되더군요.

음 원래 bind로 한번 열어두면 열어둔 포트에 패킷이  올때까지 기다리는거 아닙니까?

netstat -an으로 보면 4643포트로 대기중이던데요..

뭐가 잘못되었는지 모르겠네요. 도와주세요 :-)

p.s 그냥 볼랜드 소켓으론 이 방식으로 전송은 받는데..winsock은 왜 그런지 모르겠네요.

+ -

관련 글 리스트
16422 ftp list의 패킷전송에 대한 질문 winsock과 ftp관련. 모라 1763 2002/03/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.