Mon code suffit d'une tâche simple envoyer un texte de la console du client au serveur et recevoir une réponse. Mais mon code ne fonctionne pas bien. Je continue d'envoyer du texte au serveur et aucune réponse ne renvoie. J'ai fait un exemple plusieurs que plus 2 nombre donné du client. Je fais cela de la même manière mais je n'arrive pas à comprendre quel est le problème.Comment puis-je obtenir la réponse du serveur TCP en Java
Serveur:
public class Server {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(8);
Socket client = server.accept();
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(client.getInputStream()));
BufferedWriter outToClient = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
String in = inFromClient.readLine(),out;
while(in!=null){
out = in+" from server";
outToClient.write(out);
outToClient.newLine();
outToClient.flush();
}
inFromClient.close();
outToClient.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Client:
public class Client {
public static void main(String[] args) {
try {
Socket client = new Socket("localhost", 8);
System.out.println("Connected to server");
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(client.getInputStream()));
BufferedWriter outToServer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
Scanner input = new Scanner(System.in);
String strClient,strServer;
while(true){
System.out.print("Client: ");
strClient = input.nextLine();
outToServer.write(strClient);
strServer = inFromServer.readLine();
System.out.print("Server: ");
System.out.println(strServer);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Cela ne fonctionne pas. En console, j'écris encore beaucoup de texte sans aucune réponse. –
Avez-vous ajouté la nouvelle ligne et la couleur? – ParkerHalo
oui. J'ai ajouté newline et vider et réparer la boucle. –