투케이2K

120. (TWOK/WORK) [개선 요청] Ios 와이파이 WIFI AP 연결 및 CocoaAsyncSocket 소켓 통신 딜레이 개선 - NWConnection 소켓 통신 변경 본문

투케이2K 업무정리

120. (TWOK/WORK) [개선 요청] Ios 와이파이 WIFI AP 연결 및 CocoaAsyncSocket 소켓 통신 딜레이 개선 - NWConnection 소켓 통신 변경

투케이2K 2024. 11. 26. 19:41

[제 목]

[개선 요청] Ios 와이파이 WIFI AP 연결 및 CocoaAsyncSocket 소켓 통신 딜레이 개선 - NWConnection 소켓 통신 변경

 

[내 용]

 

------------------------------------------------------------------------------
[개선 요청 사항]
------------------------------------------------------------------------------

1. Ios 에서 NEHotspotConfigurationManager 사용해 특정 와이파이 AP 다이렉트 연결 후 

   CocoaAsyncSocket 라이브러리 사용해 소켓 통신 수행 시 소켓 활성 딜레이 현상 발생 개선 요청

------------------------------------------------------------------------------
[원인 파악 및 증상 재현]
------------------------------------------------------------------------------

1. 애플리케이션 실행 및 특정 WIFI 와이파이 다이렉트 연결 수행하는 AP 연결 화면 이동


2. 와이파이 SSID, PW 사용해 App 앱에서 다이렉트 와이파이 연결 요청 수행


3. 와이파이 연결 완료 시 >> CocoaAsyncSocket 라이브러리 사용해 TCP/IP 소켓 생성 및 메시지 송수신 준비 대기


4. Ios 전체 테스트 시 AP 연결에서 CocoaAsyncSocket 소켓 활성 및 메시지 송수신 대기까지 대략 20 ~ 30 초 정도 걸리는 것 확인

  >> IOS 하위 OS 기기에서는 30 ~ 40 초 가량도 소요되는 현상 확인 (IOS 12, 13)

------------------------------------------------------------------------------
[조치 내용]
------------------------------------------------------------------------------

1. CocoaAsyncSocket 라이브러리 내에서 TCP/IP 소켓 통신을 수행하기 위한 기본 기능에 래핑 된 기능이 많은 것으로 판단해 

   NWConnection 애플에서 제공하는 소켓 통신 프레임워크로 TCP/IP 소켓 통신 활성 및 데이터 송수신으로 기능 변경 수행


2. 로직 : 

  >> NEHotspotConfigurationManager 사용해 와이파이 SSID, PW 입력 후 AP 다이렉트 연결 수행

  >> 정상적으로 AP 연결이 완료 된 경우 >> NWConnection 사용해 IP, PORT 입력 및 소켓 연결 시도 수행

  >> NWConnection 프레임워크에서 stateUpdateHandler 실시간 연결 감지 상태에서 Ready 상태가 되면 메시지 송수신 핸들러 등록 수행

  >> App To Device 간 프로토콜 규약대로 메시지 송수신 처리 실시

------------------------------------------------------------------------------
[참고 사이트]
------------------------------------------------------------------------------

[IOS - C_Wifi_Ap_Module : 와이파이 및 모바일 핫스팟 관련 기능 사용 모듈]

https://blog.naver.com/kkh0977/223671300425


[IOS - NEHotspotConfigurationManager 사용해 특정 WIFI 와이파이 다이렉트 연결 및 에러 발생 체크 분기 처리 수행]

https://blog.naver.com/kkh0977/223669296624


[NEHotspotConfigurationManager 사용해 특정 WIFI 와이파이 SSID 연결 해제 수행]

https://blog.naver.com/kkh0977/223669507156


[IOS - NWConnection 설명 및 TCP IP 소켓 통신 연결 및 데이터 전송 방법]

https://blog.naver.com/kkh0977/223670153413

------------------------------------------------------------------------------

 

반응형
Comments