Avatar billede inglenook Praktikant
16. juni 2005 - 21:58 Der er 5 kommentarer og
1 løsning

Sende string uden opdeling

Har foelgende kode:

PrintWriter ps = new PrintWriter(new OutputStreamWriter(urlConnection.getOutputStream()));

    ps.write(s);
    ps.flush();

Meningen er at jeg skal sende en streng paa 8 bytes til en server, f.eks. "ABCDEFGH". Det er vigtigt at alle 8 bytes sendes i den samme streng. Der sker dog det at nogle gange sendes strengen ad flere gange, f.eks.:
A
BCD
EFGH

eller
A
BCDEFGH  (oftest)

eller som 8 separate strenge
A
B
C
D
E
F
G

Hvordan kan jeg tvinge mit program til at sende alle 8 bytes i den samme streng ?
Avatar billede inglenook Praktikant
16. juni 2005 - 21:59 #1
variablen s indeholder min streng (!).
Avatar billede arne_v Ekspert
16. juni 2005 - 22:08 #2
du kan ikke gøre andet end bede dem i den anden fixe deres kode !
Avatar billede arne_v Ekspert
16. juni 2005 - 22:36 #3
problemet er at det på dette her niveau er en stream

du sende en stream af bytes

modtageren læser en stream af bytes

men der er ikke nogen garanteret sammenhæng mellem hvordan du "bundter" når
du sender og de "bundter" modtager læser

derfor skal modtager læse indtil vedkommende ved at han har nmodtaget det hele

det kan måske nemmest gøres ved at i afslutter strengen med \r\n og så kan modtager
læse indtil han har modtaget end of line
Avatar billede sfwb Nybegynder
16. juni 2005 - 22:52 #4
Prøv noget i stil med,

OutputStream output = urlConnection.getOutputStream();
output.write(s.getBytes());
output.flush();

Med mindre dine strenge er meget store skulle de blive sendt i een pakke...
Avatar billede inglenook Praktikant
17. juni 2005 - 00:15 #5
Nej, det er samme resultat. Laver det i C i stedet. Det virker bedre. Har dog et problem med at mit C program ikke lukker forbindelsen igen korrekt. Lukker her og opretter nyt spoergsmaal under C/C++
Avatar billede simonvalter Praktikant
17. juni 2005 - 00:52 #6
hvis det heller ikke går så prøv ruby... det skulle virke endnu bedre ;)
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
Kurser inden for grundlæggende programmering

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