/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Flush problem med jdk-1.4b SAX parser
Fra : Morten Green Hermans~


Dato : 25-07-01 14:08

Aloha!

Dette kunne beskrive mit problem:
Jeg har en client som sender:
"<?xml version='1.0' encoding='us-ascii'?><I><O></O></I>\n"
via en socket til en server.

Serveren giver socket'ens input stream til en
javax.xml.parsers.SAXParser og kalder parse(). Det mærkelige er at
startDocument() bliver kaldt i min extention af
org.xml.sax.helpers.DefaultHandler, men startElement() bliver ikke kaldt
selvom "<I><O></O></I>\n" sendes i samme linie som XML headeren fra
klienten. Jeg har husket at kalde flush() på min output stream fra klienten.

Klienten stå og venter på svar fra serveren (som ikke svarre da den igen
elementer får) og først når clienten breakes (crtl-c) parser serveren
resten af de sendte data. Jeg ved ikke hvorfor det første sker der. Det
er ligesom at resten af data'ne hænger i socketen og første kommer
igennem når klientens output stream closes. Det sker jo når klienten
breakes.

Jeg har desværre ikke mulighed for at viser Jer noget kode, p.g.a
kommercielle hensyn. Så vi må holde os til teorien

M.v.h
- Morten Green Hermansen, Fanitas


 
 
Lars Hansen (25-07-2001)
Kommentar
Fra : Lars Hansen


Dato : 25-07-01 15:55

Hvis du bruger en PrintWriter på klienten til at generere din xml med, så
kan du oprette den mew new PrintWriter( outputStream, true );
Som gør at den vil lave autoflush

/Lars Hansen
"Morten Green Hermansen" <mortengh@fanitas.com> wrote in message
news:3B5EC4BA.9060002@fanitas.com...
> Aloha!
>
> Dette kunne beskrive mit problem:
> Jeg har en client som sender:
> "<?xml version='1.0' encoding='us-ascii'?><I><O></O></I>\n"
> via en socket til en server.
>
> Serveren giver socket'ens input stream til en
> javax.xml.parsers.SAXParser og kalder parse(). Det mærkelige er at
> startDocument() bliver kaldt i min extention af
> org.xml.sax.helpers.DefaultHandler, men startElement() bliver ikke kaldt
> selvom "<I><O></O></I>\n" sendes i samme linie som XML headeren fra
> klienten. Jeg har husket at kalde flush() på min output stream fra
klienten.
>
> Klienten stå og venter på svar fra serveren (som ikke svarre da den igen
> elementer får) og først når clienten breakes (crtl-c) parser serveren
> resten af de sendte data. Jeg ved ikke hvorfor det første sker der. Det
> er ligesom at resten af data'ne hænger i socketen og første kommer
> igennem når klientens output stream closes. Det sker jo når klienten
> breakes.
>
> Jeg har desværre ikke mulighed for at viser Jer noget kode, p.g.a
> kommercielle hensyn. Så vi må holde os til teorien
>
> M.v.h
> - Morten Green Hermansen, Fanitas
>



Morten Green Hermans~ (26-07-2001)
Kommentar
Fra : Morten Green Hermans~


Dato : 26-07-01 16:04

Lars Hansen wrote:

> Hvis du bruger en PrintWriter på klienten til at generere din xml med, så
> kan du oprette den mew new PrintWriter( outputStream, true );
> Som gør at den vil lave autoflush

Det er ikke et flush problem - tror jeg. Mit spørgsmål er for skramlet.
Jeg starter en ny tråd herinde, så tror jeg folk har en bedre change

Takker
- Morten Green Hermansen, Fanitas


Thorbjoern Ravn Ande~ (30-07-2001)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 30-07-01 00:30

Morten Green Hermansen wrote:

> Jeg har desværre ikke mulighed for at viser Jer noget kode, p.g.a
> kommercielle hensyn. Så vi må holde os til teorien

Et testcase skulle du vel nok kunne strikke sammen til en anden gang?


--
Thorbjørn Ravn Andersen "...plus... Tubular Bells!"
http://bigfoot.com/~thunderbear

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste