마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

DataInputStream.readUTF(); 만하면 멈춰버립니다.

0 추천
        btn.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                if (et.getText().toString() != null
                  
                        || !et.getText().toString().equals("")) {
                 
                 //tv.setText(et.getText().toString());
                 try {
                  
      toServer.writeUTF(et.getText().toString());
      toServer.flush();
      toServer.writeUTF("test");
      toServer.flush();
      //message=fromServer.readUTF();     
      
               //tv.setText(et.getText().toString());

     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
                    
                }

            }

        });

주석처리된 //message=fromServer.readutf();부분에서 가상머신이 멈춰버리는데 이유가뭘까요..

엘희 (500 포인트) 님이 2014년 3월 20일 질문

1개의 답변

+1 추천
 
채택된 답변

아마 멈췄을때 로그캣이 이유를 알려 줄거에요smiley

q1212 (26,020 포인트) 님이 2014년 3월 20일 답변
엘희님이 2014년 3월 20일 채택됨
Reason: keyDispatchingTimedOut
뭐 이런식으로 뜨는데 ANR어쩌구하면서요
주석에서 멈출 일은 없을 테니 그위에 flush가 문제 같네요.
보내고 딜레이 상태에서 계속 기다리는 듯.
한번만 써보시길.
아아 그게 자꾸 멈춰서 주석 처리 해둔겁니다 . 흠.. 저게 주석처리가아니라도 flush쪽을생각해봐야할까요 ? 서버측에서 메시지를받고 서버측에서 확인하는부분은 잘되거든요 ?제가 "a"라는 메시지를 보내면 서버측에서 a라는걸받았다라는건확인이되는데 서버측에서받은걸 다시 제 폰으로 돌려받으면 멈춰버리는거같아서요..
로그캣 한줄씩 죄다 검색창에 띄워서 결국 처리했네요 감사합니당
...