日期:2014-05-20  浏览次数:20614 次

新手,求教readLine()简单的小问题
Socket   msnSocket   =   new   Socket( "messenger.hotmail.com "   ,1863);
BufferedReader   input   =   new   BufferedReader(new   InputStreamReader(msnSocket.getInputStream()));
.
.
.
中间省略
.
.
while((line=input.readLine())!=null){
    System.out.println(line);
}

input.readLine()是从服务器端返回的多行信息,执行while语句后,返回信息一切正常,但光标停在最后一行下面的空白处,程序处于假死状态,下面的程序无法运行,只能ctrl+c退出。
我推断是在服务器端返回信息后,又执行了一次input.readLine()造成的,到底是怎么回事,怎么解决?

急啊,新手没怎么用过java,高手能不能帮忙解答一下。

多谢!

------解决方案--------------------
试一下在服务器发送完信息以后,将输出缓冲区刷新,
------解决方案--------------------
楼主解决了,
------解决方案--------------------
六楼抢分.
------解决方案--------------------
抢分
------解决方案--------------------
-_-
------解决方案--------------------
我也来抢分了!
------解决方案--------------------
JF
------解决方案--------------------

------解决方案--------------------
这也行(-_-);
------解决方案--------------------
我来了
------解决方案--------------------
我也来了,有没有晚到..