투케이2K

295. (TWOK/ERROR) [Android] 클라이언트 TCP IP 소켓 통신 에러 - SocketException Software caused connection abort 본문

투케이2K 에러관리

295. (TWOK/ERROR) [Android] 클라이언트 TCP IP 소켓 통신 에러 - SocketException Software caused connection abort

투케이2K 2025. 2. 12. 18:57

[환경 설정 및 설명]

프로그램 : AndroidStudio

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

 

[설 명]

--------------------------------------------------------------------------
[에러 원인]
--------------------------------------------------------------------------

1. 안드로이드 클라이언트 TCP IP 소켓 통신 수행 시 connection timeout 및 delay 값이 적은 경우 Response 스트림을 읽기 전에 TCP 통신이 끊김 이슈


2. TCP/IP 소켓 통신 설정 시 에러가 발생한 옵션 : 

    this.mSocket.setTcpNoDelay(true);
    this.mSocket.setSoTimeout(0);


3. TCP/IP 소켓 통신 수행 시 에러가 발생한 소스 부분 : 

    [소켓 응답 확인 실시]

    int len = 0;
    byte[] buffer = new byte[6144];

    if(mInputStream != null){
        len = mInputStream.read(buffer);
    }


4. 에러 발생 로그 : 

    W/System.err: java.net.SocketException: Software caused connection abort
    W/System.err:     at java.net.SocketInputStream.socketRead0(Native Method)
    W/System.err:     at java.net.SocketInputStream.socketRead(SocketInputStream.java:118)
    W/System.err:     at java.net.SocketInputStream.read(SocketInputStream.java:173)
    W/System.err:     at java.net.SocketInputStream.read(SocketInputStream.java:143)
    W/System.err:     at java.net.SocketInputStream.read(SocketInputStream.java:129)

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





--------------------------------------------------------------------------
[해결 방법]
--------------------------------------------------------------------------

1. TCP/IP 소켓 통신 설정 시 connection timeout 및 delay 값 늘려서 테스트 수행


2. 변경 소스 코드 : 

    // this.mSocket.setTcpNoDelay(true); // [초기 옵션 주석]
    // this.mSocket.setSoTimeout(0); // [초기 옵션 주석]

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





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

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

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

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