Salut, j'ai un problème un peu bizard j'espere que quelqu'un pourra m'aider car ca fait bien 1 semaine que je bloque la dessus et je ne comprend plus rien :)
Lorsque j'ouvre une socket que j'envoi un flux xml, le serveur le recoit bien, sans probleme.
Maintenant quand j'essai d'envoyer un message de retour, comme "ok le message est correct" le dialogue se bloque bizarement tres tot :(
voici mon code:
// code du serveur SS = new ServerSocket(port); SS.setReuseAddress(true);
Socket S = SS.accept(); System.out.println("Client connecté au serveur");
// flux d'entrée du réseau sur le serveur InputStream in = S.getInputStream(); // flux de sortie sur le réseau sur le serveur PrintWriter sortie = new PrintWriter ( new OutputStreamWriter ( S.getOutputStream()));
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(in); System.out.println("flux xml recu avec succes");
// réponse ok sortie.println("commande ok"); sortie.flush();
|
// code du client Socket S = new Socket(addrServer, port); System.out.println("Socket cree");
BufferedReader entree = new BufferedReader(new InputStreamReader(S.getInputStream())); // InputStream from client BufferedWriter sortie = new BufferedWriter(new OutputStreamWriter(S.getOutputStream()));
File f = new File("c:/demandeBDD.xml"); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(f);
// Use a Transformer for output TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(sortie); transformer.transform(source, result); sortie.flush();
System.out.println("Demande envoyé");
// les 2 prochaines lignes bloque le dialogue ??? String reponse = entree.readLine(); System.out.println(reponse);
|
Si je mets les 2 dernieres lignes de code en commentaire le flux xml est bien envoyé, le serveur le recoit et peut travailler dessus.
Si les 2 dernières lignes ne sont pas en commentaires le serveur ne recois pas le flux xml et la connexion est bloqué :(
D'où peut venir l'erreur????
ultrafil.fr.st