Bonjour,

Je travail sur un projet pour lequel j'ai d'un côté une BDD MySQL sur un serveur et de l'autre une application en Java qui accède à la BDD grâce à DbwConnection.

Dans le programme Java je fais un select * sur une table et je récupère environ 4000 lignes sur 7000 avant que l'exception Premature EOF ne soit levée.
Aussi pendant que le programme reçoit le résultat de la requête, je regarde avec wireshark ce qui se passe sur le réseau et je vois régulièrement des paquets avec "TCP window full" et "TCP ZeroWindow". Il semble donc que le programme est du mal à suivre et qu'il ne réceptionne pas assez vite les paquets envoyés par le serveur.

De ce que j'ai compris, l'exception EOF est levée quant il n'y a plus rien à lire. Et comme elle est levée par la méthode "ResultSet rs = conn.executeQuery("SELECT * FROM ..." je suppose que ça signifie qu'il n'y a plus rien dans le buffer de réception du résultat.

Tout ca me paraît un peu contradictoire. Est-ce quelqu'un saurait ce qu'il se passe ?


Voici la trace de l'exception

java.io.IOException: Premature EOF
at sun.net.http://www.http.ChunkedInputStream.f...tream.java:252)
at sun.net.http://www.http.ChunkedInputStream.r...tream.java:680)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2582)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:282)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:324)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:176)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:153)
at java.io.BufferedReader.readLine(BufferedReader.java:316)
at java.io.BufferedReader.readLine(BufferedReader.java:379)
at server.DbwServer.doPost(DbwServer.java:189)
at server.DbwServer.sendQuery(DbwServer.java:114)
at dbwConnection.DbwConnection.executeQuery(DbwConnection.java:39)
at Dbwconnection_test.lireEnBase(Dbwconnection_test.java:12)
at Dbwconnection_test.main(Dbwconnection_test.java:33)