while((line = br.readLine()).equals("-1") != true)

解决方案 »

  1.   

    晕。。你怎么一边用readln一边用flush啊。。flush最后不会发送/n或者/r你当然会死在那里了。。要么你都用readln 和writeln。。要么你都用flush。。混用不死才怪。或者你在flush一个/n或/r
    因为readln必须要接受到"/n"或者"/r"才能够停止
      

  2.   

    os = c.openOutputStream();
    os.write((string_array + "\n").getBytes());
    os.flush();
    这样是不是就 flush 了一个"\n"了? 可还是不行啊
      

  3.   

    线程阻塞在br.readLine里了
    另外,收到“-1”字串才退出循环,但客户端并没有发送“-1”啊??
      

  4.   

    那你这个语句什么意思啊
    while((line = br.readLine()).equals("-1") != true)判断收到的数据是不是"-1",不是的话就继续执行,不是这样吗?
      

  5.   

    readLine()应该在读到流的末尾才返回null的吧,当socket断开连接才到末尾吧?否则要设命令某个标志表示结束。
      

  6.   

    所以如果你要那个while跳出来只要关闭其中一个socket就行。
      

  7.   

    也就是在写完字符后用output.close(), 而不用output.flush()