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