|
| DataOutputStream.writeBytes Fra : Martin Bratbo |
Dato : 11-12-01 00:41 |
|
I et studieprojekt med at lave en SMTP og pop3 server i java har vi brugt
et DataOutputStream objekt og kaldt dest WriteBytes metode til at skrive en
strng ud til en TCP forbindelse, der tilsyneladende det at den første
karakter i strengen bliver lagt i en pakke for sig selv og resten af srengen
i den næste, det kan tilsyneladende give problemer for krakilske POP3
klienter (opera).
Problemet er der tilsyneladende ikke hvis man bruger en
PrintWriter.print(string) . Men den er jeg ikke helt tryg ved, da character
encodingen er platformsafhængig.
Er der nogen der er stødt på denne problematik, og evt ved noget om hvordan
man får writeBytes til at sende i et hug og ikke først sende en enkelt
karakter ??
MVH
Martin Bratbo
| |
Christian Damsgaard (11-12-2001)
| Kommentar Fra : Christian Damsgaard |
Dato : 11-12-01 09:17 |
|
Hej Martin,
Det er fordi java.io.DataOutputStream ikke skriver "ascii", men objekter /
simple typer. Prøv fx. at skrive en int - den bliver skrevet binærd.
Strengen kan du tildels læse fordi den er kodet med UTF8.
java.io.PrintWriter eller java.io.Writer er vejen frem. Mht. læsningen bør
du bruge java.io.BufferedReader.
Mht. til platforms uafhængihed, kan du jo sætte encoding attributten på
writeren.
/Christian
"Martin Bratbo" <martin@bratbo.dk> wrote in message
news:kGbR7.234$t84.14464@news.get2net.dk...
> I et studieprojekt med at lave en SMTP og pop3 server i java har vi brugt
> et DataOutputStream objekt og kaldt dest WriteBytes metode til at skrive
en
> strng ud til en TCP forbindelse, der tilsyneladende det at den første
> karakter i strengen bliver lagt i en pakke for sig selv og resten af
srengen
> i den næste, det kan tilsyneladende give problemer for krakilske POP3
> klienter (opera).
> Problemet er der tilsyneladende ikke hvis man bruger en
> PrintWriter.print(string) . Men den er jeg ikke helt tryg ved, da
character
> encodingen er platformsafhængig.
> Er der nogen der er stødt på denne problematik, og evt ved noget om
hvordan
> man får writeBytes til at sende i et hug og ikke først sende en enkelt
> karakter ??
>
> MVH
>
> Martin Bratbo
>
>
| |
|
|