시소당
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(), "MS949" ));
msg = new String(br.readLine());
위와 같이 통상적인 방법으로 소켓통신을 하고 있습니다.
보통 BufferedReader에 readLine()을 하면 값이 날아올때까지 대기하게 되는데요
저는 이 시점에서 최대 기다리는 시간을 직접적으로 정해주고 싶습니다.
그러니까 Readline 상태에서 1초가 지나면 Readline을 중단하고 그대로 연산하는 것이지요.
그래야 응답이 없을때에 대한 카운트로 타임아웃을 지정할 수 있을 것 같은데
가능한 방법이나 조언 부탁드립니다. 감사합니다.
자답입니다.
try catch로 감싸고 ReadLine 바로 위에 socket.setSoTimeout(100); 를 넣어주면
0.1초동안 데이터가 들어오지 않을 시 catch로 넘겨줍니다.
이렇게 응용하여 구현하였습니다.