Bonjour,
je dois récupérer le contenu d'une réponse à une requête HTTP or ce contenu est trop important pour une seule trame TCP. Actuellement, j'utilise cette méthode pour récupérer la réponse HTTP, mais lorsque les données sont trop importantes, seule la première trame semble être récupérée. Existe t-il un moyen d'accèder aux autres trames qui sont sensées (?) arriver sur le même socket (enfin là je m'avance peut-être un peu) afin donc de pouvoir retourner une réponse complète?
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 String tmp = ""; try { Socket so = new Socket(host,port); so.setKeepAlive(true); Scanner sc = new Scanner(so.getInputStream()); PrintWriter pw = new PrintWriter(so.getOutputStream(),true); // Envoie de la requête s pw.println(s); while (!sc.hasNextLine()); while (sc.hasNextLine()) { tmp += sc.nextLine() + "\r\n"; } sc.close(); pw.close(); so.close(); } catch (UnknownHostException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } return tmp;
Partager