IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Problème d'envoi de deux requêtes HTTP 1.1 dans un même socket


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Par défaut Problème d'envoi de deux requêtes HTTP 1.1 dans un même socket
    Bonjour à tous,

    Pour un besoin spécifique j'essaye d'envoyer deux requêtes HTTP 1.1 post à un serveur dans une même connection socket.
    Mon problème est que j'obtient une réponse pour la première requête mais aucune réponse pour la deuxième requête sachant que j'ai bien mis la connection Connection: Keep-Alive dans le header.

    Je ne trouve pas le problème surtout que je n'ai aucune erreur dans le log mais le retour contient seulement la réponse pour la première requête
    Si quelqu'un a d'idée à ce propos qu'il l'éclairci svp et merci d'avance
    Voilà mon code :

    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
     
     
         Socket socket = new Socket(addr, port);
         String strRequest1="myxmlRequest1....";
         //send request	
         wr.write("POST / HTTP/1.1\r\n");
                  wr.write("Host: HOST\r\n");
                  wr.write("User-Agent: Java\r\n");
                  wr.write("Content-Length: " + strRequest1.length() +  "\r\n");
                  wr.write("Content-Type: text/xml\r\n");
                  wr.write("Connection: Keep_alive\r\n\r\n");
                  wr.write(strRequest1 +"\r\n");
                  wr.flush();
     
        // Get response
                   rd = new BufferedReader(new InputStreamReader(
                              socket.getInputStream(), "UTF8"));
     
                  System.out.println( "BufferedReader rd------------------------------>" + rd);
                  System.out.println( "readLine------------------------------>" + rd.toString());
                  while ((line = rd.readLine()) != null) {
                      System.out.println("output---------->" + output);
                      output = output + line + "\n";
                  }
     
                  System.out.println("taille response" + output.length());
        // Request 2
        String s2="myxmlRequest2...";
        //send request		  
        		  BufferedWriter wr2 = new BufferedWriter(new OutputStreamWriter(
                	       socket.getOutputStream(), "UTF8"));
     
                  System.out.println(s2);
                  wr2.write("POST / HTTP/1.1\r\n");
                  wr2.write("Host: HOST\r\n");
                  wr2.write("User-Agent: Java\r\n");
                  wr2.write("Content-Length: " + s2.length() +  "\r\n");
                  wr2.write("Content-Type: text/xml\r\n");
                  wr2.write("Connection: Close\r\n\r\n");
                  wr2.write(s2 + "\r\n");
                  wr2.flush(); 
     
        // get response 
                  BufferedReader rd2 = new BufferedReader(new InputStreamReader(
                          socket.getInputStream(), "UTF8"));
                  output="";
                  while ((line = rd2.readLine()) != null) {
                      System.out.println("output2---------->" + output);
                      output = output + line + "\n";
                  }
     
                  System.out.println("s2 response" + output.length()+"s2"+output);

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Par défaut Solution au problème
    Bonjour à tous,
    après lonuge recherche j'ai trouvé la solution dans ce lien :
    http://stackoverflow.com/questions/1...ockets-in-java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi d'une requête HTTP
    Par adslfx dans le forum Général Java
    Réponses: 3
    Dernier message: 25/09/2011, 19h14
  2. Envoi d'une requête HTTP
    Par adslfx dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 25/09/2011, 18h26
  3. problème de jointure entre deux requêtes séparées
    Par sinifer dans le forum Requêtes
    Réponses: 2
    Dernier message: 28/05/2009, 15h24
  4. Envoi d'une requête HTTP POST
    Par Alexey dans le forum Langage
    Réponses: 4
    Dernier message: 10/05/2009, 20h35
  5. Envoi d'une requête HTTP
    Par jpean.net dans le forum Web & réseau
    Réponses: 2
    Dernier message: 16/05/2008, 08h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo