19. januar 2001 - 11:25Der er
7 kommentarer og 1 løsning
Data via socket
Findes der en input stream reader, som kan modtage binær data og samtidig har en funktion til at læse tekst-linier?? Jeg ville havde brugt InputStream, som har en ReadLine funktion, men desværre har Sun været så tåbelige at ødelægge klassen ved at fjerne netop denne funktion. Mit mål er at blive i stand til at implementere en HTTP protokol, som ud over selve teksten også kan modtage binære data (f.eks. billeder).
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Hvis du skal modtage binære data, så skal du parse den tekst du henter, og oprette en ny (binær) forbindelse til at hente de billeder, der er refereret til (href).
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
Socket skal så være navnet på den socket du har oprettet. Herefter kan du skrive husk: import java.net.*; import java.io.*; in.readLine som så fanger alt hvad der kommer ind på den socket.
Desværre virker det ikke alligevel: Man kan ikke læse binære data via BufferedReader. Findes der ikke et alternativ, eller er Sun gået helt i hundene?!?!
Det virker ikke? Det lyder underligt jeg mener når du siger læse binære data mener du så ikke bare \"010010101...\" Det burde den da godt kunne læse men hvis du vil behandle det som tal bagefter skal du jo lave det om til tal... Jeg vil gerne hjælpe dig færdig med det her hvis jeg kan du skal bare lige skrive hvordan du vil bruge den data du får ind. Altså hvilke metoder du skal bruge.
Jeg er interesseret i at læse bytes (8-bit), ikke chars (som vist nok er 32-bit i Java). De data jeg modtager stammer fra et CGI-script, som jeg har skrevet i C++. I dette script sender jeg 1000 bytes, som skal modtages og indlæses i et byte array i min Java Applet. Hvis jeg læser via ovenstående metode, bliver alle tegn indlæst i chars og konverteret til tekst. Jeg er interesseret i at finde en inputstream, som både kan indlæse bytes (8-bit) og samtidig indeholder en readline funktion til indlæsning af chars (ren tekst) - dvs. en funktion som tager højde for newline mm. Den klasse jeg havde udset mig hedder InputStream og indeholder netop denne funktionalitet, men desværre har Sun besluttet at readLine funktionen ikke længere skal være en del af klassen...øv. Tak fordi du fortsat har lyst til at hjælpe.
Jeg vil lige prøve at maile min lærer med dit problem han er en haj men jeg kan ikke garantere han kan løse det her problem plus det tager et par dage at få et svar...
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.