bonjour,
voila mon code client et serveur.
lorsquej'envoie des numeros <128 au serveur, ils sont lit correctement mais lorsque j'envoie des nombres >127 ils sont recus erronés par le serveur.
q'est ce que je dois faire
code client:
code serveur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 package serveur_client; import java.net.*; import java.io.*; public class Client { public static void main(String[] args) { String host = "xxx.xxx.xxx.xxx"; int port = 19999; System.out.println("Client initialized"); try { InetAddress address = InetAddress.getByName(host); Socket connection = new Socket(address, port); BufferedOutputStream bos = new BufferedOutputStream(connection.getOutputStream()); OutputStreamWriter osw = new OutputStreamWriter(bos); String ligne; BufferedReader IN=null; try{IN=new BufferedReader(new InputStreamReader(System.in));} catch (Exception e){System.err.println("Erreur : "+e);System.exit(1);} System.out.print("Tapez une ligne : "); try{ ligne =IN.readLine(); int a = Integer.parseInt(ligne); System.out.println(a); osw.write(a); osw.flush(); InputStreamReader bis = new InputStreamReader(connection.getInputStream()); BufferedReader isr=new BufferedReader(bis); String c = isr.readLine(); //System.out.println(ligne + " Dinars equiaut à " +c+ " Euro"); System.out.println(c); connection.close(); } catch (Exception e){System.err.println("Erreur : "+e);System.exit(2);} } catch (IOException f) {System.out.println("IOException: " + f);} catch (Exception g) {System.out.println("Exception: " + g);}}}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 package serveur_client; import java.net.*; import java.io.*; public class Serveur implements Runnable{ private Socket connection; private int ID; public static void main(String[] args){ int port = 19999; int count = 0; try{ ServerSocket socket1 = new ServerSocket(port); System.out.println("serveur Initialized"); while (true){ Socket connection = socket1.accept(); Runnable runnable = new Serveur(connection, ++count); Thread thread = new Thread(runnable); thread.start(); } } catch(Exception e){} } Serveur(Socket s, int i){ this.connection = s; this.ID = i; } public void run(){ try{ BufferedInputStream is = new BufferedInputStream(connection.getInputStream()); InputStreamReader isr = new InputStreamReader(is); int a = isr.read(); System.out.println(a); System.out.println("conversion de " +a+" Dinars en Euros"); //System.out.println("treaitement"); try{ Thread.sleep(10000); } catch(Exception e){} double returnCode = a*0.57; System.out.println(returnCode); BufferedOutputStream os = new BufferedOutputStream(connection.getOutputStream()); OutputStreamWriter osw = new OutputStreamWriter (os); String s = Double.toString(returnCode); osw.write(s); osw.flush(); } catch(Exception e){ System.out.println(e); } finally{ try{connection.close();} catch(IOException e){} } } }
merci d'avance
Partager