Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
belette dummy mioche

Inscrit le: 17 Mai 2005 Messages: 3
|
Posté le: Mar Mai 17, 2005 3:41 pm Sujet du message: enchaine requetes HTTP / client java |
|
|
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 |
|
 |
belette dummy mioche

Inscrit le: 17 Mai 2005 Messages: 3
|
Posté le: Mar Mai 17, 2005 3:46 pm Sujet du message: complement |
|
|
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 |
|
 |
belette dummy mioche

Inscrit le: 17 Mai 2005 Messages: 3
|
Posté le: Jeu Mai 19, 2005 11:14 am Sujet du message: reponse |
|
|
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 |
|
 |
|
|
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
|
|