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?
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.
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 :)
PrintWriter og PrintStream er til linie orienteret tekst
hvis det ikke er det er der andre klasser: BufferedOutputStream, DataOutputStream etc.
Synes godt om
Ny brugerNybegynder
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.