Notice
Recent Posts
Recent Comments
Link
투케이2K
69. (TWOK/LOGIC) [Ios] 웹소켓 (WebSocket) Connection 통신 연결 및 연결 상태 체크 로직 정리 본문
투케이2K 로직정리
69. (TWOK/LOGIC) [Ios] 웹소켓 (WebSocket) Connection 통신 연결 및 연결 상태 체크 로직 정리
투케이2K 2024. 9. 9. 19:03[로직 정리]
정리 로직 : Ios / 아이폰
상태 : [Ios] 웹소켓 (WebSocket) Connection 통신 연결 및 연결 상태 체크 로직 정리
[설 명]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift
- 개발 툴 : Xcode
- 구현 기술 : URLSession webSocketTask
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[로직 정리]
// --------------------------------------------------------------------------------------
1. URLSession 생성 및 webSocketTask 지정 실시
2. 웹 소켓 webSocketTask?.delegate = self 딜리게이트 지정 및 didOpenWithProtocol , didCloseWith 소켓 활성 및 닫기 이벤트 감지 등록
3. URLSession.resume() 웹 소켓 연결 수행 실시
4. URLSession.resume() 요청 이후 하위 코드에 웹 소켓 연결 상태 확인 타임 아웃 DispatchQueue.main.asyncAfter 지정 및 해당 시간 이후에는 자동 연결 실패 콜백 반환 처리 수행
>> 무한 콜백 대기 현상 방지
5. 웹 소켓 연결 요청 후 딜리게이트 didOpenWithProtocol 함수쪽으로 응답이 내려 온 경우 webSocketTask.state 상태 확인 수행 (running 상태 체크)
6. 정상적으로 웹 소켓이 running 상태 인 경우 >> webSocketTask.error 에러 발생 여부 체크 실시
7. 에러 발생 여부가 정상 인 경우 >> webSocketTask?.sendPing 핑 체크 검사 수행
8. 정상적으로 Ping 응답까지 온 경우 연결 완료 처리 아니면, 재연결 요청 메시지 반환
// --------------------------------------------------------------------------------------
반응형
'투케이2K 로직정리' 카테고리의 다른 글
Comments