Q&A

  • indy ftp connection error
indy 8.004B 컴포넌트를 사용했구요,
두개의 서버를 가지고 테스트 해 보았습니다.

하나는 os가 solaris 이고 하나는 linux로 테스트를 해 보았습니다.
결과는 linux의 해당 폴더에서 화일을 모두 client로 받았으나,
solaris에서는 아예 접속 조차 되지 않는군요.

에러 메시지는 '500 'SYST' : command not understood.' 라고
나는군요. indy component를 설치하면 자동으로 깔리는
idftp.pas 화일의 connect 메소드 안의 sendcmd('syst',[200,215])
프로시저에서 에러가 나는 것 같은데 도저히 알수가 없네요.

서버 os가 solaris에서 돌아 가야 되는데 큰일이네요.

님들의 빠른 답변 기다리겠습니다. 꾸벅 ^^.
  
5  COMMENTS
  • Profile
    KDDG_BaSTaD 2003.02.15 09:43
    ==> TIdFTPClient 는 대표적인 Unix Type과 Windows NT 를 구현해 놓았습니다. Unix 자체에도 상당히 다양한 OS 버전과 종류들이 있죠.. 그와 마찬가지로 Ftp 서버도 각 서버 벤더마다 다른것이 사실입니다. 솔라리스도 자체 Ftp서버를 포함시켰기때문에 RFC 이외데 자기들 입맛에 많이 수정한거죠.. 솔라라스가 쫌.. OS 자체가 게네들에 독립적인 부분이 많죠..

    SYST는 서버의 시스템 정보를 표시해 주는 명령어 입니다. 님이 본 메시지는 서버에선  SYST 명령어를 지원하지 않아서 나는 에러이구요.. SYST를 사용하지 않도록 수정하시면 됩니다.

    서버차이에 가장 민감한 부분이 LIST명령언데.. 리스팅 포맷이 또 다르거든요. Indy 9부터는 리스트를 파싱하는 모듈까지 포함시킨 상태입니다만 Unix(Linux)와 NT 만 지원하는 상태입니다..

    솔라리스에 따른 리스팅 포맷 파싱은 님이 직접 구현하셔야할 것입니다..

    ps. 즐프 & 즐타
  • Profile
    이진원 2003.02.15 21:44
    님 말씀 고맙습니다. 그런데 어느 부분을 수정해야 될지 모르겠군요.
    idftp의 connect 메소드는 사용해야 될 것이고,
    idftp.pas의 connect 메소드 부분을 수정해야 될 것 같은데, 그 메소드
    안에 sendcmd('syst',[200,215]) 부분을 삭제해도 계속 또같은 에러가
    생기는데 어느 부분을 수정해야 하는 지요. 님의 조언 부탁드립니다.
  • Profile
    KDDG_BaSTaD 2003.02.15 22:23

    ==> Connect()에 Response가 [200,215]밖에 없나요? Indy는 자체 에러 처리 메카니즘으로 Normal Exception을 발생시킵니다. SendCmd()자체도 정당한 리턴 코드 [200,215]가 아니라면, 그에 해당하는 Exception이 발생됩니다.  서버마다 Command 구현이 다를 수 있기 때문에 약간 문제의 소지가 되지만, 실할때의 리턴 코드 500도 같이 추가해주세요.. Indy 9.0.11 이 최신입니다. 최신 버전으로 재 설치하시면 다음과 같이 수정되어 있습니다.

          if SendCmd('SYST', [200, 215, 500]) = 500 then begin
            FSystemDesc := RSFTPUnknownHost;
          end else begin
            FSystemDesc := LastCmdResult.Text[0];
          end;

    새로 추가된 500은 SYST 명령이 구현되지 않았을때의 에러코드지요..

    만약 님이 Exception 발생이 싫으시다면,  아래처럼 직접 리턴코드를 체크하시면 됩니다..

    if SendCmd('SYST') = 500 then
        // error

    이렇게 두번째 파라미터를 넘기지 않으시고 직접 처리하시면, Exception이 발생되지 않습니다.

    Connect()의 'SYST' 명령어를 보내는 부분을 주석처리해도 에러가 나는것은 이와같은 Exception들이 곳곳에서 발생하는것입니다. Solaris 가  일반 Unix계열의 Ftp서버가 아닌 독립적인 형식을 띄고있기 때문이죠.. Solaris에 맞게 포팅해 놓으시는것을 찾던가.. 님이 직접 컴맨드 마다 확인하시면서 수정하셔야 할 것입니다.

    ps. 즐프 & 즐타
  • Profile
    이진원 2003.02.15 23:28
    최신 버젼 설치 실행화일을 어디서 다운 받아 설치하나요.
    indy 페이지에 들어가 보니 소스만 올라와 있고 설치 실행화일은
    업던데요. 실행화일을 설치 하디 않고 소스만 추가하여 처리하는
    방법이 있나요. indy에 무례안 이라서 자꾸 귀찮게 해드려 죄송하네요.
    답변 기다리겠습니다.
  • Profile
    KDDG_BaSTaD 2003.02.16 12:56

    ==> 아직 Setup은 나와있질 않습니다. 하지만, 소스를 가져와서 컴파일 하시면 됩니다. 간단하죠..  Source 폴더 밑에 batch 파일로 빌드해 주는게 잇지만, 그것보단 패키지로 하는게 낳죠..
    indy70.dpk를 compile만 하시고, dclindy70.dpk를 compile & install하시면 됩니다..

    참고로, Indy 홈페이지는 http://www.nevrona.com/indy 입니다.

    ps. 성공하시길, 즐프 & 즐타
    • 성대현
    • 2003.02.17 21:25
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이영진
    • 2003.02.17 21:14
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2003.02.18 03:04
      안녕하세요. 한원희입니다. 프로젝트 옵션에서, Compiler 옵션 중에 Debug Information 정보를 설정하신...
    • 구창민
      2003.02.17 21:24
      x 표시가 되었다면 실행되지 않는다는 뜻입니다. 분명히 실행되어야 하는 라인인데 x 표시가 되었다면 ...
    • 김병진
    • 2003.02.17 20:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      2003.02.17 21:15
      델파이 기본 VCL에서는 안됩니다. 해결방법은 CustomEdit를 상속받아서 새 컴포넌트를 제작하시던가, 원...
    • KDDG_Check
      2003.02.17 19:58
      간략하게 설명한다면... TQuery의 결과 레코드 셋에서 커서가 앞,뒤로 다 움직일 수 있느냐? 한(앞)쪽으...
    • 구창민
      2003.02.17 20:00
      경규님 아는게 없어서 질답란에 안쓴다더니 아는거 많네여? 카카 ㅋㅋ
    • KDDG_Check
      2003.02.17 21:07
      에겅...아는거 쥐뿔두 없습니다. ㅎㅎ 걍 칼리행님이 쓰신 글에 답글 해 놓구 지성 스런 맘이 들어서리....
    • zebra
    • 2003.02.17 11:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_hyun
      2003.02.17 19:29
      비지블? 이 있습니다 그걸 투루 펄스로 해주시면 될꺼에요.. 예로 classify 라는 컬럼이 Q_grd 라...
    • goodlsw
    • 2003.02.16 09:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이병훈
      2003.02.18 07:25
      안녕하세요. 지나가다 몇자 적어 봅니다. 쿼리로 하면 삽입하고 하는 것은 해결이 될것 같네요. ...
    • 강인규
      2003.02.17 21:40
      dlldb라는 alias가 없다는 말이군요. 해당에러가 ASP의 어느 라인에서 나는지 잘 모르겠지만 (9줄밖에 ...
    • 구창민
      2003.02.17 20:25
      클래스 명을 가져오는 일 정도라면 훅을 하지 않으셔도 됩니다. 일전에 테스트 해본 바로는 윈도9x 계열...
    • 홍진혁
    • 2003.02.16 03:54
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박종철
    • 2003.02.16 02:58
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Check
      2003.02.17 21:34
      안녕하세요. 여유로움입니다. 데이터를 읽을 수 없다는 말씀이 어떤 건지 잘 모르겠네요. 무슨 에러 메...
    • 박성훈
      2003.02.17 21:22
      안녕하세요? 사용하신 컴포넌트 찾아보니까 버퍼지우는 메소드가 있던데요. CPort.ClearBuffer(Input, ...
    • 김진효
    • 2003.02.15 22:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 거리
      2003.02.16 00:31
      이렇게 해보니깐 되더라구요. ------Floattostr-------- procedure TForm1.Button1Click(Sender: TObject...
    • 김상수
    • 2003.02.15 21:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 아폴론
      2003.02.16 01:40
      Exl.WorkBooksOpen('C:text.exe'); Exl.Sheets['test'].select; Exl.Visible := true; 이러면 열 수 있...
    • neperz
    • 2003.02.15 11:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2003.02.15 12:51
      검색하시면 답이 나올것같은데... 이런방법으로 하면 안되나요? 먼저 xxx.bat란 파일안데 원하시는 ...
    • 박지원
    • 2003.02.15 10:56
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 아폴론
      2003.02.16 01:31
      var Tstop : Boolean;  //전역번수선언    루프를 돌립니다.   ...
    • 열심히
      2003.02.15 19:35
      음...근데 한가지 문제가 아래와 같이 sleep()을 쓰는것은 좋지가 않습니다. TTimer를 쓰시는게 좋ㅇ르...
    • KDDG_Check
      2003.02.15 18:59
      안녕하세요 Application.ProcessMessage; 메세지를 진행 시키라는 거지요. 즉 프로그램의 메세지 큐에...
    • KDDG_ZZOM
      2003.02.15 13:02
      var   Form1: TForm1;   Work : Boolean; implementation {$R *.DFM} proced...
    • 이진원
    • 2003.02.15 05:38
    • 5 COMMENTS
    • /
    • 1 LIKES
    • KDDG_BaSTaD
      2003.02.15 09:43
      ==> TIdFTPClient 는 대표적인 Unix Type과 Windows NT 를 구현해 놓았습니다. Unix 자체에도 상당히 다...
    • 이진원
      2003.02.15 21:44
      님 말씀 고맙습니다. 그런데 어느 부분을 수정해야 될지 모르겠군요. idftp의 connect 메소드는 사용해야 ...
    • KDDG_BaSTaD
      2003.02.15 22:23
      ==> Connect()에 Response가 [200,215]밖에 없나요? Indy는 자체 에러 처리 메카니즘으로 Normal Exce...
    • 이진원
      2003.02.15 23:28
      최신 버젼 설치 실행화일을 어디서 다운 받아 설치하나요. indy 페이지에 들어가 보니 소스만 올라와 있고...
    • KDDG_BaSTaD
      2003.02.16 12:56
      ==> 아직 Setup은 나와있질 않습니다. 하지만, 소스를 가져와서 컴파일 하시면 됩니다. 간단하죠..&nb...
    • 이창영
    • 2003.02.15 05:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 남양원
      2003.02.16 00:23
      문제의 해결책이 될지 어떨지는 모르겠습니다만 제 생각에는 한글이 깨져 보이는 경우는 컴파일시 지정...