我正在从缓冲区读取字符串并将其写入服务器。我遇到的问题是,当我将套接字打开并写入一个循环时,服务器永远不会收到字符串。 当我使用这个:使用writeBytes的Java客户端套接字
try {
Socket send = new Socket("localhost", 1490);
DataOutputStream out = new DataOutputStream(send.getOutputStream());
String message = null;
while ((message = buffer.get()) != null){
out.writeBytes(message);
}
out.close();
send.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
服务器没有收到字符串,但我这样做,当它正常工作:
try {
String message = null;
while ((message = buffer.get()) != null){
Socket send = new Socket("localhost", 1490);
DataOutputStream out = new DataOutputStream(send.getOutputStream());
out.writeBytes(message);
out.close();
send.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
很显然,我不想保持开启和关闭套接字,但。问题是什么?
是的,我没有尝试刷新,我仍然有同样的问题。缓冲区总是有字符串,所以我不认为套接字实际上是关闭的。但为什么我的信息仍然没有收到? – user1190650 2012-02-18 14:34:37