TCP/IP 소켓통신의 Readline 딜레이에 관하여 질문입니다. :: 게임제작[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

게임제작
[1]
등록일:2018-07-31 11:25:10 (0%)
작성자:
제목:TCP/IP 소켓통신의 Readline 딜레이에 관하여 질문입니다.
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로 넘겨줍니다.

 

이렇게 응용하여 구현하였습니다.
[본문링크] TCP/IP 소켓통신의 Readline 딜레이에 관하여 질문입니다.
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34767
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.