안녕하세요~

안드로이드(클라이언트)와 pc(서버)로 tcp통신을 구현하고있는데

클라이언트에서 서버로 메시지를 전송해서 디비와비교하여 결과값을받아오고 커맨드창으로 출력까지 문제없이됩니다.

그런데 이 결과값들을 다시 클라이언트로 flush() 하려고하면 서버와 클라이언트 모두 멈춰버립니다.
(클라이언트로 다시 보내려는 값은 하나이구 "가나다라" 한글로 네글자입니다.)

바로 죽는것도 아니구 멈춰서 한 10분정도 대기하다가 죽어버립니다.

밑에가 클라이언트 부분이구요

Socket socket = new Socket("203.230.156.214", Integer.parseInt("5000"));
     
     bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"));
     br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
     bw.write(query);     
     bw.flush();         
     String compnm = br.readLine();   
      test.setText("result" + " : " + compnm); 
     
     br.close();
     bw.close();
     socket.close();

밑에가 서버부분입니다.

   Socket socket = ss.accept(); 
   System.out.println(new Date().toString() + ":" + socket.toString()); 
   BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8")); 
   BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"));
   sql = br.readLine(); 
   System.out.println(sql);

   ResultSet rs = stmt.executeQuery(sql);
    String bbb = rs.getString("compnm");
    bw.write(rs.getString("compnm"));  
    bw.flush();  
   br.close();
   bw.close();
   socket.close();


서버로접속하려고하면 로그정보 딱 두개뜨면서 클라이언트가 멈춰버립니다.
서버에선 접속이 성공되었다고 나옵니다
서버에서 클라이언트로 데이터를 전송하는부분만 주석처리하면 잘실행되구요
주석처리하지않으면 접속만되고 멈춰버립니다.

07-11 09:33:07.554: INFO/global(265): Default buffer size used in BufferedWriter constructor. It would be better to be explicit if an 8k-char buffer is required.
07-11 09:33:07.574: INFO/global(265): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.


그리고 서버를 강제로 종료시키면 그제서야 클라이언트가 다시 작동하구요.
여기저기 찾아봤는데 답변을 찾지못해서 이렇게 글을 올립니다~ 어떡해야되나요??