OutputStream output_stream = socket.getOutputStream();
            output_stream.write("HELLO".getBytes());
                        InputStream input = socket.getInputStream();
            InputStreamReader isreader = new InputStreamReader(input);
            BufferedReader reader = new BufferedReader(isreader);
            String input_string = reader.readLine();            if (input_string == "TEST"){
                output_stream.write("YES".getBytes());
            }else{
                output_stream.write("NO".getBytes());
            }
            output_stream.write("CLOSE".getBytes());        代码如上,如果去除中间的if判断,程序就没问题,不然就阻塞在if这里,也不执行下面的代码,请问为什么呢??

解决方案 »

  1.   

    不会吧 肯定可以 是不是你发送的时候没加回车#13 你用的是readLine()方法接收的
      

  2.   

    谢谢两位
    没加回车,不过if (input_string == "TEST"),不是true / false两种情况都考虑到了吗?
    是指while (true)吗?不太会用,能改个实例给我看看吗?
      

  3.   


    可能因为你下面没用到input_string编译器给优化了,你试试System.out.println(input_string) 用一下input_string也会死
      

  4.   

    readLine()要收到回车时才会返回 要不就死在那里了