투케이2K

134. (TWOK/LOGIC) [android] 안드로이드 Socket 소켓 통신 시 Request 전달 후 Response 응답을 받지 못하고 소켓 연결 종료 시 처리 로직 본문

투케이2K 로직정리

134. (TWOK/LOGIC) [android] 안드로이드 Socket 소켓 통신 시 Request 전달 후 Response 응답을 받지 못하고 소켓 연결 종료 시 처리 로직

투케이2K 2025. 3. 1. 10:01

[로직 정리]

정리 로직 : Mobile

상태 : [android] 안드로이드 Socket 소켓 통신 시 Request 전달 후 Response 응답을 받지 못하고 소켓 연결 종료 시 처리 로직

 

[설 명]

// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------

- 안드로이드에서 http 통신을 수행하기 위한 퍼미션 권한 설정 및 네트워크 연결 상태 확인 필요

- 퍼미션 권한 설정 코드 : 

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

- (중요) 소켓 통신 규약에서 Request , Response 는 1폴로 정의 (Ping > Pong 이후 소켓 종료)

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------

1. 안드로이드 애플리케이션 실행 및 TCP/IP 소켓 통신을 수행하는 화면 진입


2. TCP/IP 소켓 연결을 수행 하기 전) 특정 와이파이 or 특정 기기 AP 에 연결 되어 있는 상태 체크


3. [IF] 특정 와이파이 or 기기 AP 에 연결 되어 있지 않은 경우 팝업창 알림 표시 및 와이 파이 설정 창 이동 수행

  >> 특정 와이파이 or 기기 AP 에 연결 되어 있지 않습니다. 와이파이 설정 이동 후 특정 와이파이 or 기기 AP 에 연결해주세요.


4. [ELSE] 특정 와이파이 or 기기 AP 에 연결 되어 소켓 통신을 수행할 수 있는 경우 정의 된 IP, PORT 로 소켓 연결 수행


5. 소켓 연결 완료 후 데이터 읽기 , 쓰기를 수행하기 위한 스트림 지정 및 Request 데이터 전송 수행 - App To Device

  >> 소켓 연결 과정에서 Exception 이 발생한 경우 에러 팝업창 표시 : 소켓 연결 중 문제가 발생했습니다. Exception - 내용


6. Request 데이터 전송 수행 이후 Response 응답이 오지 않고 SocketException Software caused connection abort 에러가 발생한 경우, 정상 처리 완료 리턴 값 반환 수행


7. 기기에서 Response 응답을 주지 않고 서버 소켓이 종료 된 경우라도 이후 뒷단 로직은 정상 수행할 수 있으므로, 등록 체크 API 폴링으로 최종 상태 확인 처리 수행

// --------------------------------------------------------------------------------------






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

[클라이언트 TCP IP 소켓 통신 에러 - SocketException Software caused connection abort]

https://blog.naver.com/kkh0977/223758296345?trackingCode=blog_bloghome_searchlist


[C_TcpIp_Client_Socket_Module : TCP IP 소켓 통신 클라이언트 모듈]

https://blog.naver.com/kkh0977/223686531844?trackingCode=blog_bloghome_searchlist


[안드로이드 ( android ) 기기 로컬 핫스팟 AP 연결 및 TCP IP 소켓 통신 수행 시 다이렉트 AP 연결 기능 개발 요청]

https://blog.naver.com/kkh0977/223660712180?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
반응형
Comments