0
간단한 FTP 서버를 구현하고 있습니다. 디버깅 할 때 FileZilla 클라이언트를 사용하여 서버를 연결하려고합니다. 명령 패널에서 발견 된 요청과 응답 패턴은 아래와 같습니다 : 그러나FTP 데이터 연결이 설정되면 인사 또는 핸드 셰이크가 필요합니까?
GREETING: 220 (FTP v1.0)
REQUEST: USER ***
RESPONS: 331 Password?
REQUEST: PASS ********
RESPONS: 230 login successfully.
REQUEST: PWD
RESPONS: 257 "https://stackoverflow.com/a/" is current directory.
REQUEST: TYPE I
RESPONS: 200 Type set to I.
REQUEST: PASV
RESPONS: 200 127,255,0,0,175,200(I specify local port 45000)
REQUEST: LIST
RESPONS: 150 here is the listing
RESPONS: 226 Transfer done.
오류가 Fail to read directroy.
내가 수동 연결이 실제로 내가 소켓 스트림을 얻을 수 있기 때문에 (내가 서버를 구현 설립 생각 다음이 C#에서). 그러나 나는 왜 오류인지 전혀 모른다. 동기화 서버 및 클라이언트에 직접 데이터를 보내는 대신 제어 연결에있는 정보와 같은 일부 악수/인사말 정보를 보내야하기 때문입니까? 그렇다면이 정보의 상태 코드는 무엇입니까?
감사합니다.
아마도, 나는 더미 데이터를 테스트에 사용하고,이 모듈을 수정하고 다시 테스트 할 것입니다. 고맙습니다. –
당신 말이 맞아요. 포맷은 하나의 것이고, 다른 하나는 데이터 전송이 완료된 후 연결을 열린 상태로 두었다는 것입니다. FileZilla가이 정책을 취하는 이유에 대해 궁금한 점이 있습니까? 모든 작업이 단일 스레드에서 완료 될 수 있습니까? 시간이 있으면 src를 확인합니다. –