Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
파일 전송을 위한 애플리케이션 프로토콜 (RFC 959)
Transport 계층 프로토콜인 TCP/IP를 사용
파일 전송에 2개의 포트를 사용
제어 명령 송수신- PI (Protocol Interpretor)
데이터 송수신 - DTP (Data Transmission Process)
Passive 모드
지정된 서버 포트에 클라이언트가 연결
Active 모드
지정된 클라이언트 포트에 서버가 연결
NEOS에 구현되어 있는(FtpShellCmd.c)
FTP 관련 API
ftpget
ftpput
ftpls
TgsFtpGetCmd()에서 args를 받음.
TgsFtpGetCmdThread()를 생성 및 호출.
"RETR" FTP 서버용 명령어를 입력값으로
FtpXfer() 함수를 호출
fopen과 read로 서버의 파일을 읽어와 fwrite
으로 타겟보드 파일시스템 위에 저장.
TgsFtpPutCmd()를 호출하여 args 입력값 받음.
TgsFtpPutCmdThread() 호출 및 생성.
"STOR" FTP 서버용 명령어를 인자값으로
FtpXfer()를 호출.
fopen()과 fread()로 클라이언트의 파일을 열고
write로 서버에 전달.
TgsFtpLsCmd()를 호출하여 옵션 인자값을 받음.
TgsFtpLsCmdThread() 호출 및 생성.
"NLST" 서버 명령어를 인자값으로 FtpXfer()를
호출.
서버에서 보내온 데이터를 read() 후, STD_OUT
옵션으로 write().
인자 : host IP, Port #, user ID, password, 명령어, dir path, file name, socket
동작
1. HookUp - 제어 소켓 탐색
2. Login - 서버 접속을 위함
3. TYPE command - 데이터 전송 타입 선택 (binary/ASCII)
4. Init Pass/Act Mode - 수동/능동 모드(접속방식) 선택 및 데이터 소켓 설정
5. CWD command - 작업할 서버의 디렉토리 이동
6. 명령어 command - "STOR/RETR/NLST" 명령어 전달
7. QUIT command - 접속 종료
NEOS-1054 발췌
현재 FTP Client Command 디렉토리 복사 기능은 제공하지 않습니다.
하지만 여러 파일을 쉽게 다운로드 및 업로드하기 위해서 mget/mput 명령을 지원합니다.
저희도 mget/mput 명령과 유사한 기능을 지원하는 것으로 좋겠습니다.
Sprint Estimate : 3w
1. 디렉토리를 get/put하는 mget/mput 설계
2. Prototype 개발 및 공유
3. 구현
4. TEST 시험코드 작성
5. 사용자 문서 작성
6. 리뷰