Я написал EchoServer, который отвечает строкой ack, если данные были отправлены соответственно.ObjectInputStream и ObjectOutputStream
Мой клиент выглядит так ... Для получения ответа от сервера «echoSocket» помещает полученные данные в мой ObjectIputStream. Только если я комментирую эти части из клиент работает
echoSocket = new Socket(server_name, tcp_port);
System.out.println(" *** Connected to " + server_name + " ***");
System.out.println("Press Enter to send your message.");
out = new ObjectOutputStream(echoSocket.getOutputStream());
in = new ObjectInputStream(echoSocket.getInputStream());
out.flush();
String message = System.console().readLine();
while(!message.equals("quit")) {
// problem
if (in.readObject().equals(ack))
System.out.println("ACKed");
in.close();
// problem ends
out.flush();
out.writeObject(message);
System.out.println("Sending: " + message);
message = System.console().readLine();
out.flush();
}
ли кто-нибудь знает, почему он не будет посылать мои строки?
Спасибо, Marius
Является ли ack обязательным для строкового литерала? Изменить на: if (in.readObject(). Equals ("ack")) – barrowc