Avatar billede moxa Nybegynder
10. marts 2006 - 13:45 Der er 10 kommentarer

TCP/IP i Java

Hejsa! :P

Jeg sidder og roder med at sende kommandoer til en node på et netværk via TCP i Java.
Så jeg strikker min streng sammen til den kommando, jeg nu vil sende, og når det så ikke virker har jeg sat et sniffer program til at se, hvad der egentlig bliver sendt.
snifferprogrammet fortæller mig så, der bliver sendt mine data (fint nok) PLUS det, den tager som værende 0d og 0a i hexadecimal... Det vil jeg ikke have med!!

Nogen idéer til, hvad der forårsager dette, og hvordan jeg kan undgå at sende de to sidste bytes?
Avatar billede erikjacobsen Ekspert
10. marts 2006 - 13:50 #1
Så skal du vel bruge print i stedet for println
Avatar billede moxa Nybegynder
10. marts 2006 - 13:53 #2
ja, det har jeg prøvet - men så bliver der bare slet ikke sendt noget :s
Avatar billede erikjacobsen Ekspert
10. marts 2006 - 13:59 #3
De to tegn er jo linieskift (carriage return og linie feed), som ofte forventes af modtageren, men ikke altid. Afsenderen skal så måske selv sige flush, hvis de ikke er med.
Avatar billede moxa Nybegynder
10. marts 2006 - 14:15 #4
ok... ja, så langt er jeg med...
men... konkret, hvordan jeg selv flusher på den måde du snakker om, har jeg ingen anelse om... hehe...
Avatar billede moxa Nybegynder
10. marts 2006 - 14:21 #5
ligemeget - har fundet ud af det selv.

lav et svar, så får du pointene :)

og tak for hjælpen :)
Avatar billede erikjacobsen Ekspert
10. marts 2006 - 14:25 #6
Jeg samler slet ikke på point, tak. Men fortæl endelig hvad du fandt ud af.
Avatar billede moxa Nybegynder
10. marts 2006 - 14:27 #7
okie - der kan man bare se :)
jeg sender nu med print() i stedet for at sende med println()
i næste statement kalder jeg bare flush() på samme out (PrintWriter).

mit snifferprogram genkender data'ene, og jeg kan se, det er det rigtige, der bliver sendt :)
Avatar billede erikjacobsen Ekspert
10. marts 2006 - 14:46 #8
Og så: svar selv, accepter eget svar.
Avatar billede moxa Nybegynder
10. marts 2006 - 14:51 #9
heh
Avatar billede arne_v Ekspert
10. marts 2006 - 15:28 #10
jeg tror at du skal skifte klasser

PrintWriter og PrintStream er til linie orienteret tekst

hvis det ikke er det er der andre klasser: BufferedOutputStream,
DataOutputStream etc.
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