以下run()所在的类负责与服务器端通信,tfd 是一个JTextArea,用来显示提示信息,用整型变量i显示while循环运行的次数,运行时发现tfd中显示到“GO2”就没有下文了,也就是只按开始按钮时读取了一道题的内容和考试时间,再按读取下一题时就没有反应,可服务器端显示正确输入试题内容,而且这边也没有任何异常显示,不知道是什么原因,郁闷得快要死掉了!!!!!!!!
private Runnable rn=new Runnable(){
    public void run(){
      int i=0;//////////TEST!!!!!!!!!!!!
      String s=null;
      while(true){
        
        try{
          s=in.readUTF();
          i++;/////////////!!!!!!
          tfd.append("GO"+i);
        }
        catch(Exception e){
         tfd.setText("和服务器的连接已经断开");
        }
        if(s!=null){
          if(s.startsWith("分数")){
            txtShowAnswer.setText("\n"+s);
          }
          else if(s.startsWith("试题内容")){
            tfd.append(s);
            txtShowAsk.setText("\n"+s);
            txtShowAsk.repaint();
          }
          else if(s.startsWith("考试结束")){
            timer.stop();
          }
          else if(s.startsWith("考试用时")){
            tfd.append(s);
            String str=s.substring(s.indexOf(":")+1);
            leftTime=Long.parseLong(str);
            long leftHour=leftTime/3600;
            long leftMinute=(leftTime-leftHour*3600)/60;
            long leftSecond=leftTime%60;
            tfdShowTime.setText("剩余时间:"+leftHour+"小时"+leftMinute+"分"+leftSecond+"秒");
            tfdShowTime.repaint();
            timer.start();
          }
          else if(s.startsWith("考试结束")){
            timer.stop();
          }
          else 
              //tfd.setText("NO RIGHT CONTENTE ERROR!!!");
                tfd.append("NO RIGHT CONTENTE ERROR!!!");
        }
        else tfd.append("THREAD RUN ERROR READ NULL!");
        try{
          Thread.sleep(5);
        }
        catch(Exception e){tfd.setText("THREAD SLEEP ERROR!");}
        continue;
        }
         
   }
 };