enchaine requetes HTTP / client java

 
Poster un nouveau sujet   Répondre au sujet    iprelax.fr Index du Forum -> Java
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
belette
dummy mioche
dummy mioche


Inscrit le: 17 Mai 2005
Messages: 3

MessagePosté le: Mar Mai 17, 2005 3:41 pm    Sujet du message: enchaine requetes HTTP / client java Répondre en citant

Bonjour a tous.
J'essaye de developper un client java pour envoyerdes requetes HTTP à un serveur JBOSS.
Ce qui coince, c'est qu'à partir de la seconde requete, je ne recois plus de reponse de la part du serveur. Pourtant, la premiere requete me renvoit bien la bonne reponse et si j'inverse l'ordre des requetes, c'est la meme chose, c'est à dire que je recois la reponse de la premiere, mais toujours pas de la deuxieme.
Le probleme ne vient donc certainement pas de mes requetes, mais peut-etre bien de la connection qui est faite via une socket.
J'ai ajouté les champs Keep-Alive et Connection dans les entetes de mes requetes, mais cela ne change rien.
Je vous en prie, si quelqun a une idée, ca me debloquerait beaucoup.
Merci

Voici les requetes que j'envoie au serveur:
1ere requete:
POST /ixp/LoginServlet HTTP/1.1
Host: 192.168.1.180
Accept: */*
Keep-Alive: 300
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 33

login=tallystick&password=manager

2eme requete:
GET /ixp/jsp/tsoperator/CreateUser.jsp;jsessionid=2F1058572EB5C7C...51 HTTP/1.1
Accept: */*
Host: 192.168.1.180
Keep-Alive: 300
Connection: keep-alive
Cookie: JSESSIONID=2F1058572EB5C7C227507B20101C4F51


J'insiste sur le fait que les requetes marchent independemment les unes des autres, mais que c'est bien le fait d'en faire plusieurs a la suite qui pose probleme
Merci

Belette
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
belette
dummy mioche
dummy mioche


Inscrit le: 17 Mai 2005
Messages: 3

MessagePosté le: Mar Mai 17, 2005 3:46 pm    Sujet du message: complement Répondre en citant

excusez-moi, j'ai peut-etre oublié de préciser certains renseignements:
pour la connection, j'utilise donc une seule socket.

les buffers sont initialises tels que :
rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));

Voici le code pour envoyer mes requetes :

static boolean sendRequest(Socket socket, String header, String body)
{
try
{
// Send Message
wr.write(header + body);
wr.flush();
}
catch(Exception e){return false;}
return true;
}


Voici le code pour recuperer les réponses du serveur :

static String getResponse(Socket socket)
{
String response=new String("");
try
{
//Get Response
String line=new String("");
//String vide=new String("");
//while ((line = rd.readLine()) == null) System..println("bloqué dans la boucle");
// response+=line;
while ((line = rd.readLine()) != null) {
response+=line;
}
//rd.close();
}
catch(Exception e)
{
System.out.println("erreur de reception du message");
return "error";
}
return response;
}

Quelqun a une idée?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
belette
dummy mioche
dummy mioche


Inscrit le: 17 Mai 2005
Messages: 3

MessagePosté le: Jeu Mai 19, 2005 11:14 am    Sujet du message: reponse Répondre en citant

J'ai trouvé la solution. Le probleme venait du fait que je lisais le BufferedReader jusqu'à ce que je rencontre une ligne égale à null. En realité, il faut s'arréter avant, sinon, il continue jusqu'à ce que la socket soit fermée. En loccurence, je lis jusqu'a ce que je recois une ligne égale à "</html>".
Voila;)

++

Belette
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    iprelax.fr Index du Forum -> Java Toutes les heures sont au format CET (Europe)
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Affilzen SARL : Mention légale