Я читаю строку из буфера и записываю ее на сервер. Проблема, с которой я сталкиваюсь, заключается в том, что строка никогда не получает сервер, когда я оставляю сокет открытым и записываю в цикле. Когда я использую это:Java-клиентский сокет с использованием writeBytes
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