begin process at 2010 03 22 03:24:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

Socket bloqué


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Socket bloqué

mercredi 21 avril 2004 à 21:54:44 | Socket bloqué

ultrafil

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
jeudi 22 avril 2004 à 15:26:59 | Re : Socket bloqué

safisoft



Tu sais la methode readline bloque le prgm! alors ici je X que l'une des choses suivantes peut etre votre pbm:
- readline bloque le prgm avant qu'il termine le transfert.
- tu fais un essai avec localhost alors que tu n'utilise pas des Threads pour les deux prgm.
Il peut y etre d'autre cause, pour cela affichez le message de catch(TransformerException). J'espère que celà peut t'aider.



Cette discussion est classée dans : code, serveur, flux, socket, sortie


Répondre à ce message

Sujets en rapport avec ce message

Controle de flux sur Socket [ par Moucave ] Bonjour à tous,je vais commencer la matinée avec une petite question pas facile. En fait j'ai programmé un petit échange de données entre un client (p Pb de lecture sur socket java [ par 1982julien1982 ] Bonjour à tous ...J'ai un petit problème avec la lecture sur un socket java.Voici mon pb :Le serveur me renvoit une chaine d caractères qui ne contien Read/Write sur un Socket [ par livier_silha ] Supposons un client/serveur tout simple: . le serveur étant basique, du genre:     ServerSocket server = new ServerSocket(10101);     Socket socket = problème avec les socket en java (Connection timed out) [ par aLCHMEY ] Bonjour   V Serveur.java:23: cannot resolve symbol [ par doumeasse38 ] Bonjour, A la compile de mon fichier Serveur.java, j'ai ce message d'erreur : <span class="genm Transfert de données client/serveur (flux?) [ par xav7822 ] Bonjour,je suis en train de travailler sur un chat qui marche pas trop mal mais je voudrais rajouter une fonctionnalité qui est l'envoie/recupération Developpement d'une socket server et d'une socket client [ par molina ] HelloJe dois developper une socket server et une socket client.le serveur est lui-même connecté à une base de données. Le client se connecte au serveu ecrire sur une socket [ par newbie4help ] Salut,je n'arrive pas a ecrire sur une socket est ce que quelqu'un peut m'aider ????String accueil = "Salut à toi !!!\n";Socket socket = new Socket(se Afficher une image dans une page web depuis une bdd [ par romano80 ] Bonjour,Je ne sais pas si ce que je veux faire est faisable mais bon ki ne tente rien n'a rien :Nous devons réaliser une galerie photo sur Internet ge Utilisation des Socket via un proxy [ par tshupaka ] Bonjour, Je développe actuellement un logiciel de type client/serveur. Le client se connecte au serveur à l'aide du code suivant :         adr = Ine


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales