J'ai écrit un EchoServer qui répond avec la chaîne ACK si les données ont été envoyées en conséquence.ObjectInputStream et ObjectOutputStream
Mon client ressemble à ceci ... Afin de recevoir la réponse ack du serveur, "echoSocket" place les données reçues dans mon ObjectInputStream. Seulement si je commente ces pièces sur le client fonctionne
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();
}
Est-ce que quelqu'un sait pourquoi il n'enverra pas mes cordes?
Merci, Marius
Est-ce que ack est censé être un littéral de chaîne? Remplacez: if (in.readObject(). Equals ("ack")) – barrowc