Bonjour,
tout d'abord le contexte:mon programme est un serveur http.
Je cherche à recuperer l'ensemble d'une requete Http sous forme de String.
Mon probleme:
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 private Socket _socket; private String _rep; private int _port; private PrintStream _os; private BufferedReader _is; private Requete _requete; private MyHttpServlet _httpServlet; public Httpd(int port, String rep, Socket socket) throws Exception { _socket = socket; _port = port; _os = new PrintStream(_socket.getOutputStream()); _is = new BufferedReader(new InputStreamReader(_socket.getInputStream())); String temp=null; String r=null; while((temp=_is.readLine())!=null) { System.out.println("temp="+temp); r=r+temp; } _requete=new Requete(r); }
Mon serveur reste coincé dans la boucle.
Pourtant les specifications de la methode readLine() indiquent bien que celle_ci renvoie null lorsque le tampon est vide.
Il semble que les headers et le corps de la requête Http soient separés par une ligne vide ce qui pourrait être a l'origine de mon probleme. J'aurais aime pouvoir faire un read pour mettre le tout dans un tableau de byte pour voir mais je ne trouve pas de methodes adequates.
Merci pour votre aide.
Partager