2013-02-23 37 views
0

在我的应用程序中,我有2个程序,名为server.javaclient.java,server.java充当服务器,而client.java充当客户端。 从server.java,我写了一些数据client.java,通过使用下面的代码:使用缓冲读取器的套接字编程

bufferedwriter.write(data); 
bufferedwriter.flush(); 

阅读客户端上面的数据我已经写了下面的代码:

if(bufferedreader.ready()) 
while((a=in.read)!= -1) 

我能接收从服务器到客户端的数据,但问题是每当我在BufferedWriter处保留一个断点时。 flush在server.java程序和if(bufferedreader.ready()) client.java,它不会去inteented目的地(即,在我的应用程序的预期目标是if(bufferedreader.ready())client.java),但每当我关闭server.java调试,客户端程序的调试点是启用,可以你请帮我解决这个问题。

+0

您正在使用mark on stream? – Arpit 2013-02-23 07:16:11

+0

感谢您的回复Arpit,我没有使用任何标记,是否必须使用,如果是的话如何使用和在我的应用程序中使用,你能帮我解决这个 – 2013-02-23 07:23:19

回答

0

我认为你的IDE有可能在断点处阻塞所有线程。你可以检查调试设置。在Intellij IDEA中,它会很简单右键单击断点 - >挂起,线程

+0

感谢您的回复mudalov,我是使用netbeans作为IDE我该如何设置这个netbeans – 2013-02-23 08:43:24

+0

有一段时间没有使用它,但看看[这个问题](http://stackoverflow.com/questions/8174408/does-a-breakpoint-halt - 所有线程)的Netbeans相关细节。 – udalmik 2013-02-23 10:43:00