Notice
Recent Posts
Recent Comments
Link
투케이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
------------------------------------------------------------------------------
반응형
'투케이2K 업무정리' 카테고리의 다른 글
Comments