Bonjour, ca fait deja quelques temps que j'etudie les socket, et je viens de finir un truc tout con:
Une socket serveur qui lit ce que le client lui envoie, et lui renvoie un message comme quoi sa ligne a bient ete lu,
et une socket cliente qui envoie un message et qui recoit un message de la socket serveur. Tout ce beau monde utilise le protocole TCP.
Bien entendu, si je suis ici, c'est que ca ne marche pas^^.
Effectivement, quand je lance ma socket serveur, puis ma socket cliente, rien ne s'affiche, aucun message d'erreur, mais rien ne s'affiche.
Voici le code de ma socket serveur:
Et voici le code de ma socket cliente:
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 import java.net.*; import java.io.*; public class serveurTCP { static int port = 9333; public static void main(String[] args)throws Exception { ServerSocket serveur = new ServerSocket(port); //initialisation du serveur sur l'adresse local et sur le port 9333 Socket client = serveur.accept(); //on accepte le prochain client qui essaye de se connecter String ligne; try { // on cré reader, le buffer qui se cre a partir de l'objet inputstreamreader et qui recupere le flux du client BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())); //la on recupere le flux d'ecriture vers le client BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); String message = "votre ligne a bien ete lu par le serveur"; writer.write(message); while((ligne = reader.readLine()) != null) System.out.println(ligne); writer.flush(); writer.close(); reader.close(); }catch(Exception e) { System.out.println("fatal error"); e.printStackTrace(); } } }
(c'est normal que le client ne gere pas les exception, je feraica quand ca marchera)
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 import java.net.*; import java.io.*; public class clientTcp { public static void main(String[] args)throws Exception { InetAddress ip = InetAddress.getLocalHost(); int port = 9333; Socket client = new Socket(ip, port); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); String donneEnvoye = "yoann"; writer.write(donneEnvoye); BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())); String donneLu = null; while((donneLu = reader.readLine()) != null) System.out.println(donneLu); writer.flush(); writer.close(); reader.close(); } }
Voila, merci d'avance
Partager