Notice
Recent Posts
Recent Comments
Link
투케이2K
127. (TWOK/LOGIC) [Ios] NWConnection 사용해 FTP 연결 및 USER , PASS 사용자 인증 수행 로직 본문
투케이2K 로직정리
127. (TWOK/LOGIC) [Ios] NWConnection 사용해 FTP 연결 및 USER , PASS 사용자 인증 수행 로직
투케이2K 2024. 12. 3. 19:37[로직 정리]
정리 로직 : Ios / 아이폰
상태 : [Ios] NWConnection 사용해 FTP 연결 및 USER , PASS 사용자 인증 수행 로직
[설 명]
// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------
- FTP 연결 및 파일 송수신을 하기 위한 도메인 접속 정보 확인 필요
- 사전) 위치 권한 설정 필요
- NWConnection 설명 :
>> NWConnection 는 로컬 엔드포인트와 원격 엔드포인트 간의 양방향 데이터 연결 (TCP , UDP) 을 수행할 수 있습니다
>> NWConnection 를 사용하기 위해서는 import Network 패키지 호출 정의가 필요합니다
>> NWParameters 설정 가능 옵션 :
- tls
- tcp
- dtls
- udp
- quic
- quicDatagram
>> 참고 사이트 : https://developer.apple.com/documentation/network/nwconnection
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------
1. 애플리케이션 실행 및 FTP 통신을 수행할 수 있는 화면 진입
2. FTP 통신 수행 클래스 화면에서 lazy 선언으로 NWProtocolTCP.Options , NWParameters 옵션 설정 수행
>> TimeOut 설정으로 연결 대기 제한 시간 설정
3. FTP 접송 도메인 정보 사용해 NWConnection 객체 초기화 URL 지정 및 설정한 옵션 값 지정 수행 >> 연결 요청 실시
>> nwConnection?.start(queue: .global())
4. 연결 완료 상태를 감지하기 위한 stateUpdateHandler 이벤트 감지 핸들러 등록 및 ready 준비 완료 상태 확인
5. stateUpdateHandler 핸들러에서 준비 완료 상태가 된 경우 FTP receiveData 실시간 메시지 수신 확인 이벤트 등록
6. receiveData 실시간 메시지 수신 확인 이벤트에서 [220 FTP Server ready.] 응답이 내려온 경우 사용자 접속 인증을 수행하기 위한 USER 커맨드 send 요청 수행
>> 커맨드 예시 : let commandWithCRLF = "USER \(C_FTP_NWConnection_Client_Module.FTP_USER_NAME)" + "\r\n"
7. USER 커맨드 send 요청 완료 후 receiveData 실시간 메시지 수신 확인 이벤트에서 [331 사용자의 암호를 입력 하십시오.] 응답이 내려온 경우 PASS 커맨드 send 요청 수행
>> 커맨드 예시 : let commandWithCRLF = "PASS \(C_FTP_NWConnection_Client_Module.FTP_USER_PW)" + "\r\n"
8. receiveData 실시간 메시지 수신 확인 이벤트에서 [230 사용자 로그인] 응답이 내려온 경우 최종 FTP 접속 및 사용자 연결 완료 Flag 값 True 변경 수행
>> receiveData 이벤트에서 [530 로그인에 실패했습니다.] 메시지가 내려온 경우 FTP 접속 및 사용자 연결 완료 Flag 값 False 변경 수행 후 FTP 접속 실패 콜백 반환
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[Ios - NWConnection 사용해 TCP IP 소켓 통신 NWProtocolTCP.Options 옵션 설정 방법]
https://blog.naver.com/kkh0977/223672535940
[Ios - NWConnection 사용해 TCP IP 소켓 통신 연결 후 stateUpdateHandler 연결 상태 확인 방법]
https://blog.naver.com/kkh0977/223672601987
[Ios - NWConnection 사용해 FTP 연결 및 USER , PASS 사용자 인증 수행 방법]
https://blog.naver.com/kkh0977/223678397914
// --------------------------------------------------------------------------------------
반응형
'투케이2K 로직정리' 카테고리의 다른 글
Comments