Avatar billede anadan Nybegynder
27. juni 2005 - 11:12 Der er 3 kommentarer og
1 løsning

Java til C# socket fejl

Jeg skal sende noget tekst fra Java til C# ved hjælp af sockets. Fra java bruger jeg en PrintWriter(socket.getOuputStream()).println(data), og fra C# bruger jeg en StreamReader(client.getStream(), Encoding.Default).ReadLine();

Jeg kan forestille mig at det er noget med encoding at gøre, da jeg har prøvet forskellige eksempler, og den ikke rigtigt kan klare danske bogstaver. Kan man ændre encoding fra Java siden?
Avatar billede arne_v Ekspert
27. juni 2005 - 11:38 #1
prøv:

PrintStream ps = new PrintStream(socket.getOuputStream(), true, "ISO-8859-1");
Avatar billede arne_v Ekspert
27. juni 2005 - 11:39 #2
en PrintStream kan ca. det samme som en PrintWriter
Avatar billede anadan Nybegynder
27. juni 2005 - 16:28 #3
Det var ikke encoding der var problemet. Jeg havde en endofline karakter i min tekst, hvilket resulterede i et halvfærdigt resultat. Løsningen var

StringBuilder builder = new StringBuilder();
while(reader.Peek()!=-1){
  builder.Append(reader.ReadLine());
}
return builder.ToString();

-men da encoding var en del af spørgsmålet, får du point for dit svar.
Avatar billede arne_v Ekspert
27. juni 2005 - 16:29 #4
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester