Notice
Recent Posts
Recent Comments
Link
투케이2K
70. (TWOK/LOGIC) [Ios] 웹소켓 (WebSocket) receive 실시간 메시지 수신 방법 로직 정리 본문
투케이2K 로직정리
70. (TWOK/LOGIC) [Ios] 웹소켓 (WebSocket) receive 실시간 메시지 수신 방법 로직 정리
투케이2K 2024. 9. 9. 19:06[로직 정리]
정리 로직 : Ios / 아이폰
상태 : [Ios] 웹소켓 (WebSocket) receive 실시간 메시지 수신 방법 로직 정리
[설 명]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift
- 개발 툴 : Xcode
- 구현 기술 : URLSession webSocketTask
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[로직 정리]
// --------------------------------------------------------------------------------------
1. URLSession 생성 및 webSocketTask 지정 실시
2. 웹 소켓 webSocketTask?.delegate = self 딜리게이트 지정 및 didOpenWithProtocol , didCloseWith 소켓 활성 및 닫기 이벤트 감지 등록
3. URLSession.resume() 웹 소켓 연결 수행 실시 >> 딜리게이트 didOpenWithProtocol 함수쪽으로 응답이 내려 온 경우 webSocketTask.state 상태 확인 수행, 웹 소켓 연결 완료 처리 실시
4. 웹 소켓 연결이 완료 된 경우 실시간 메시지를 수신 받기 위한 webSocketTask.receive 응답 대기 함수 선언
5. publish 메시지 요청 이후 webSocketTask.receive 응답 대기 함수에서 실시간 메시지 확인 후 콜백 반환 수행
6. 메시지 콜백 반환 후 해당 webSocketTask.receive 함수에 내에서 다시 receive 응답 함수 등록 코드 등록 (재귀 호출 방식으로 자신 함수 호출)
7. 동일 방식으로 지속적으로 실시간 메시지를 받기 자동 처리 수행
>> 단 , 웹 소켓이 끊어진 상태를 감지하기 위해 receive 함수 내에 failure , success 분기 처리 및 failure 인 경우 재귀 호출을 하지 않도록 코드 작성 필요
// --------------------------------------------------------------------------------------
반응형
'투케이2K 로직정리' 카테고리의 다른 글
Comments