2012-05-31 3 views
0

서버 클라이언트 응용 프로그램을 작성하고 있습니다.소켓 기반 PrintWriter가 close() 후 바로 플러시되지 않습니다.

문제는 서버에서 PrintWriter이 인쇄 점 닫기 직후에 플러시되지 않는다는 것입니다. 하지만 인쇄 작가를 닫으면 소켓도 닫히지 만 나중에 사용해야합니다.

어떻게 해결할 수 있습니까?

pw = new PrintStream(socket.getOutputStream()); 
pw.println("igyulibigyuli"); 
pw.flush(); 

그것은 않습니다 내가 플러시 후 PrintWriter를 닫기 만하면되지 플러시. (아니면 내가 프로그램을 닫으면!)가 problam 소켓 읽기 바쁜 ​​것을

+0

'PrintWriter'를 닫은 후에'플러시'하려고합니까? – Jeffrey

+0

아니요,이 문제가 발생하기 전에 클라이언트의 데이터가 성공적으로 수신되었음을 의미합니다. – user1279563

+0

'flush()'를 명시 적으로 호출 할 수 있습니다. –

답변

0

되었다 (while 루프에서 , null이 아닐 때까지).