2013-02-22 187 views
1

我有这样的一个下面客户端等待来自服务器的答复,虽然服务器发送它

服务器端代码:

Socket socket = server-client conn socket 
try 
{ 
BufferedReader inFromNode = new BufferedReader(new InputStreamReader(
        socket.getInputStream())); 
PrintWriter outToNode = new PrintWriter(socket.getOutputStream(), true); 
String data = inFromNode.readLine().toString(); 
String data1 = inFromNode.readLine().toString(); 
String data2 = inFromNode.readLine().toString(); 
outToNode .println("Hi"); 
} 

客户端:

Socket socket = server-client conn socket 
try 
{ 
BufferedReader inFromNode = new BufferedReader(new InputStreamReader(
        socket.getInputStream())); 
PrintWriter outToNode = new PrintWriter(socket.getOutputStream(), true); 
outToNode .println("Hi"); 
outToNode .println("Hi"); 
outToNode .println("Hi"); 
String data = inFromNode.readLine().toString(); 
} 

问题是客户端代码正在等待来自服务器的回复。我确信服务器端已经发送了它(我试着在服务器端的发送之后放置日志,并且他们打印了。)我在这里忽略了什么?代码是否有错?

+0

尝试冲洗笔者 – Karussell 2013-02-22 08:51:20

+0

雅试过那一个,但没有解决,事实上我给了PrintWriter在第二个参数 – abhi 2013-02-22 08:55:30

+0

自动冲洗尝试显式刷新。在服务器+客户端 – Karussell 2013-02-22 08:56:27

回答

0

从服务器写入客户端时,尝试关闭PrintWriter和套接字。这应该可以解决您的问题。