투케이2K

140. (TWOK/WORK) [업무 이슈] 안드로이드 android 특정 디바이스 기기와 Socket 소켓 통신 시 Response 응답을 받지 못하고 기기 소켓 연결 종료 이슈 본문

투케이2K 업무정리

140. (TWOK/WORK) [업무 이슈] 안드로이드 android 특정 디바이스 기기와 Socket 소켓 통신 시 Response 응답을 받지 못하고 기기 소켓 연결 종료 이슈

투케이2K 2025. 2. 21. 19:43

[제 목]

[업무 이슈] 안드로이드 android 특정 디바이스 기기와 Socket 소켓 통신 시 Response 응답을 받지 못하고 기기 소켓 연결 종료 이슈

 

[내 용]

------------------------------------------------------------------------------
[이슈 사항]
------------------------------------------------------------------------------

1. 안드로이드 (소켓 클라이언트) 와 특정 하드웨어 기기 (소켓 서버) 간 TCP/IP 소켓 통신 수행 시 Device To App 으로 응답을 주지 않고 기기 서버 소켓이 종료 되는 이슈


2. 로직 및 로그 분석 시 과정 : 

  >> [1] App To Device 소켓 연결 완료

  >> [2] App To Device 데이터 Send 전달 완료

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[원인 파악 및 증상 재현]
------------------------------------------------------------------------------

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


2. App To Device 소켓 연결 및 데이터 Send 전송 완료


3. App 입장에서 Device 응답을 대기하고 있는 상태 인데 서버 소켓 연결이 종료 되어 Exception 발생 확인


4. 참고 : 해당 이슈는 간헐적으로 발생하는 증상으로 확인

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[조치 내용]
------------------------------------------------------------------------------

1. Device To App 으로 응답을 전송 후 서버 소켓 Close 처리를 수행하지만,

   실제 데이터가 App 으로 도달하기 전에 Close 가 먼저 수행 될 수 있어
   
   디바이스 서버 종료 Close 처리 부분에 소스 코드 딜레이 처리 요청 (주변 신호 간섭 등의 영향도 고려)


2. 기기 변경 로직 :

  >> Device To App 으로 소켓 통신 데이터 응답 완료 이후 0.5 초 ~ 1초간 딜레이 이후 서버 소켓 Close 처리


3. App 변경 로직 : 

  >> App To Device 데이터 전송 완료 후 서버 소켓이 종료 되어 Exception 이 발생한 경우 에러 팝업창을 표시하지 않고,

    실제 기기가 이후 로직을 정상적으로 수행할 수 있기에 기기 등록 완료 상태 체크 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