FTP는 파일전송규약입니다.

웹호스팅을 하거나 업로드 다운로드 등에 사용됩니다.


보통은 그냥 상용화된 프로그램을 쓰지만..

개발을 하다보면 좀 더 특성화된 프로그램이 필요로 합니다.

그럴 땐.. FTP을 까야죠. 


깊이 깊이 까다보면 아~~~

Socket으로 명령어를 보내고 결과를 읽고~

fopen으로 파일을 열고~  바이너리로 파일을 보내고~

여러가지 경험을 하게 됨과 동시에~

우리가 쓰는 알FTP, FileZiller 등에 위대함을 느끼지요 ㅎㅎ


출처는 위키백과 입니다.


명령어 RFC 설명
ABOR 현재의 파일 전송 중단.
ACCT 계정 정보.
ADAT RFC 2228 인증/보안 데이터
ALLO 파일을 받기 위해 충분한 디스크 공간 할당.
APPE 이어서 추가.
AUTH RFC 2228 인증/보안 구조
CCC RFC 2228 명령 채널 지우기
CDUP 부모 디렉터리로 변경.
CONF RFC 2228 기밀 보호 명령
CWD 작업 디렉터리 변경
DELE 파일 삭제
ENC RFC 2228 개인 정보 보호 채널
EPRT RFC 2428 서버 접속에 필요한 확장 주소 및 포트 지정.
EPSV RFC 2428 확장 수동 모드 들어가기.
FEAT RFC 2389 서버가 추가한 기능 목록 보기
LANG RFC 2640 언어 탐색
LIST 지정한 경우 파일이나 디렉터리 정보를 반환. 지정하지 않은 경우 현재 작업 디렉터리 정보 반환.
LPRT RFC 1639 서버 접속에 필요한 긴 주소 및 목록 지정.
LPSV RFC 1639 긴 수동 모드 들어가기
MDTM RFC 3659 지정한 파일의 마지막으로 수정한 시간 반환
MIC RFC 2228 무결성 보호 명령
MKD 디렉터리 만들기
MLSD RFC 3659 디렉터리의 이름이 지정되면 디렉터리의 내용을 보여줌
MLST RFC 3659 명령 줄에 입력한 데이터만 제공.
MODE 전송 모드 설정 (스트림, 블록, 압축)
NLST 지정한 디렉터리의 파일 이름 목록 반환.
NOOP 동작 안 함 (더미 패킷: 대개 회선이 살아있는지를 살피기 위해 쓰임)
OPTS RFC 2389 기능 옵션 선택.
PASS 암호.
PASV 수동 모드 들어가기.
PBSZ RFC 2228 보호 버퍼 크기
PORT 서버 접속에 필요한 주소 및 포트 지정.
PROT RFC 2228 데이터 채널 보호 수준.
PWD 작업 디렉터리 인쇄. 호스트 컴퓨터의 현재 디렉터리 반환.
QUIT 연결 끊기.
REIN 연결 다시 초기화.
REST 지정한 지점에서 전송 다시 시작.
RETR 파일 복사본 전송
RMD 디렉터리 제거
RNFR 이름 변경 원본 이름
RNTO 이름 변경 대상 이름
SITE 지정한 명령어를 원격 서버로 송신.
SIZE RFC 3659 파일 크기 반환
SMNT 파일 구조 마운트.
STAT 현재 상태 반환.
STOR 데이터 입력 및 서버 쪽 파일로 저장.
STOU 파일을 저만의 방식으로 저장.
STRU 전송 구조 설정.
SYST 시스템 유형 반환.
TYPE 전송 모드 설정 (ASCII/바이너리).
USER 인증 사용자 이름.


https://ko.wikipedia.org/wiki/FTP_%EB%AA%85%EB%A0%B9%EC%96%B4_%EB%AA%A9%EB%A1%9D

Posted by +깡통+

댓글을 달아 주세요

아 놔!

구글신에서 검색해보면 다양한 방법이 있다.

보통은 .ncb 파일을 삭제후 프로젝트를 다시 실행 하라고 하신다.


안된다.


나 같은 경우에는 Project 가 분리되면서 Name 바꿔야 했는데

수작업으로 이리저리 바꾸다가 생긴 현상이다.


컨트롤을 추가하고 마법사를 통해 변수를 선언하려는데 안되는 것이었다. ㅠㅠ


1. .ncb 삭제

2. .h 파일을 이중 호출하는것이 있는지 확인.

3. 이벤트 수동 추가.


여러 방법중 눈에 띄는게 있었으니!


수동으로 이벤트를 추가하는 것이었다.

한번만 해주면 해결이 된다는데 일단 지푸라기 잡는 심정으로 했다.


헤더파일에 추가

afx_msg void OnLButtonDown(UINT nFlags, CPoint point);


소스코드에 추가

void CxxxDlg::OnLButtonDown(UINT nFlags, CPoint point)

{

CDialog::OnLButtonDown(nFlags, point);

}


다이얼로그 속성에 가서 해당 이벤트를 추가하려 하면..

이미 존재하는 거라고 지껄여 준다.


이후~  프로젝트 재실행하면 됨! ㅋㅋ

Posted by +깡통+

댓글을 달아 주세요

VS2008 오류이다.

error C4430: 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.


헤더파일 중 아래 코드에서 발생했는데 이 소스는 VC 6.0 에서 쓰던것이다.

typedef vector<char*> VEC_COMMAND_RESULT;

typedef std::vector<char*> VEC_COMMAND_RESULT;


추가후 해결 완료됨.

Posted by +깡통+

댓글을 달아 주세요