discussion entre socket client et serveur (TCP)
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:
Code:
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();
}
}
} |
Et voici le code de ma socket cliente:
Code:
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();
}
} |
(c'est normal que le client ne gere pas les exception, je feraica quand ca marchera)
Voila, merci d'avance