java客户端和服务器通信

try{
Socket s=new Socket("127.0.0.1",9997);
System.out.println(s);

        InputStreamReader isr=new InputStreamReader(s.getInputStream());
        br=new BufferedReader(isr);//接受客户端的消息
        pw =new PrintWriter(s.getOutputStream(),true);

        while(true){
            String kehuduan=br.readLine();
            wb.append("服务器说:" +kehuduan+"\r\n");

        }

    }catch (Exception a){}


    问题是while(true)循环中String kehuduan=br.readLine() 怎样不断读取消息的? 因为程序中没有地方改变br,总觉得每次循环的结果都是一样的
br不变,消息变
 while(true){
            String kehuduan=br.readLine();//这里如果客户端没有输入消息的话,这里是等待的,不往下执行,客户端有消息发送过来才往下执行。执行下面代码后,又是while循环执行到这里又是等待客户端输入,也就是每次都是客户端输入的消息。
            wb.append("服务器说:" +kehuduan+"\r\n");

        }

while ((kehuduan =br.readLine()) != null) {
wb.append("服务器说:" +kehuduan+"\r\n");
}