Bonjour,
je veux réaliser une application permettant l'échange de fichier entre client et server. Pour l'instant, mon application permet d'envoyer un fichier d'un client à un server, par contre avant l'envoi du fichier je veux envoyer une sorte de message pour dire au server de se préparé à la réception.
Mon problème vient de la reception de celui-ci par le server.
(Toute mes données sont envoyées en bytes)
Client:
Server :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); Socket clientSocket = new Socket("localhost", 10001); DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); String action = inFromUser.readLine(); outToServer.writeBytes(action);
Si j'entre 15, l'affichage m'écrit un 1 avec plein de carrée à la suite ... et le 5 lui est envoyé dans mon fichier crée. Quelqu'un pourrait m'expliquer pourquoi je ne récupère pas 15 en entier ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 private DataOutputStream sortie; // pour gestion du flux de sortie private InputStream entree; // pour gestion du flux d'entrée ... sortie = new DataOutputStream(sock.getOutputStream()); entree = (sock.getInputStream()); ... byte []buffer_action = new byte[1024]; String mess; entree.read(buffer_action,0,buffer_action.length); mess = new String(buffer_action,0,buffer_action.length); System.out.println(mess); new ReceptFichier(nomfichier,sortie,entree); //recupération du fichier
(l'envoie du fichier marche très bien, c'est juste mon message qui rate...).
Merci.
Partager