/ 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
Læsning fra Socket()
Fra : Max Rotvel


Dato : 17-02-02 01:11

Hvordan søren læser man flere linier adskilt med linieskift fra
en socket?
--
Max

 
 
Niels Ull Harremoës (17-02-2002)
Kommentar
Fra : Niels Ull Harremoës


Dato : 17-02-02 05:57


"Max Rotvel" <rotvel@mail.dk> wrote in message
news:MPG.16d9138274f3f85598969f@news.inet.tele.dk...
> Hvordan søren læser man flere linier adskilt med linieskift fra
> en socket?

Du skal nok bruge noget a la
BufferedReader reader = new BufferedReader(new
InputStreamReader(socket.getInputStream(), "ISO-8859-1"))
....
String s = reader.readLine(),

Også skal du lige tænke over character encoding - en socket leverer jo bare
bytes uden at vide om det er ASCII, UTF-8, UTF-16, gif-billeder osv. Jeg har
brugt ISO-8859-1 ovenfor, men det behøver jo ikke være korrekt for dig. Du
skal nok ikke bare bruge default-værdien - så virker dit program antagelig
ikke på maskiner med andre indstillinger, og det vil være meget vanskeligt
at finde den fejl.

Held og lykke!
Niels Harremoës

> --
> Max





Filip Larsen (17-02-2002)
Kommentar
Fra : Filip Larsen


Dato : 17-02-02 15:04

Max Rotvel spurgte

> Hvordan søren læser man flere linier adskilt med linieskift fra
> en socket?

og Niels Ull Harremoës svarede

> Du skal nok bruge noget a la
> BufferedReader reader = new BufferedReader(new
> InputStreamReader(socket.getInputStream(), "ISO-8859-1"))
> ...
> String s = reader.readLine(),

Bemærk, at der i hvert fald tidligere har været problemer med en fejl i
BufferedReader.readLine som gør at kaldet ikke returnerer ved mangelfuld
CR-LF terminering på den sidste linie i input. Jeg ved ikke om fejlen er
blevet rettet endnu.

Jeg kan i øvrigt anbefale Java Network Programming af E. R. Harold,
O'Reilly, 2000, som en god introduktion til ... netværksprogrammering i Java



Mvh,
--
Filip Larsen <filip.larsen@mail.dk>



Max Rotvel (17-02-2002)
Kommentar
Fra : Max Rotvel


Dato : 17-02-02 19:38

Niels Ull Harremoës <nielsull@adslhome.dk> wrote:

> > Hvordan søren læser man flere linier adskilt med linieskift fra
> > en socket?
>
> Du skal nok bruge noget a la
> BufferedReader reader = new BufferedReader(new
> InputStreamReader(socket.getInputStream(), "ISO-8859-1"))
> ...
> String s = reader.readLine(),
>
> Også skal du lige tænke over character encoding - en socket leverer jo bare
> bytes uden at vide om det er ASCII, UTF-8, UTF-16, gif-billeder osv. Jeg har

Tak for svaret. Jeg glemte at fortælle at server delen også er
'min' applikation, så løsningen var selvfølgelig at bruge
Object(In|Out)putStream. Det er jo så simpelt at det er til at
tude over
--
Max

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

Månedens bedste
Årets bedste
Sidste års bedste