Avatar billede martinhrj Nybegynder
06. november 2004 - 12:59 Der er 1 løsning

Invalid stream header på buffered inputstream

Jeg har følgende kode:

byte[] recvBuf = new byte[5000];
DatagramPacket packet = new DatagramPacket(recvBuf, recvBuf.length);
s.receive(packet);
int byteCount = packet.getLength();

ByteArrayInputStream byteStream = new ByteArrayInputStream(recvBuf);
BufferedInputStream bbf = new BufferedInputStream(byteStream);
ObjectInputStream is = new ObjectInputStream(bbf);
Object o = is.readObject();

is.close();

Og det kompiler fint. s i linie 3 er en MulticastSocket, skal det måske lige siges.
Når jeg kører koden, får jeg en runtime error:
java.io.StreamCorruptedException: invalid stream header
på følgende linie
BufferedInputStream bbf = new BufferedInputStream(byteStream);

Jeg kan ikke helt finde ud af hvilken header der er forkert... og hvordan jeg i fald, laver den rigtig.

Håber I kan hjælpe.

På forhånd tak!
Avatar billede martinhrj Nybegynder
06. november 2004 - 13:22 #1
Ok. Never mind. Den fejl var svær at finde ud fra hvad jeg havde sendt...

Problemet var, at jeg har en multicast sender og en "direkte" sender... og ligeledes begge modtagere. Og Så er det jo klart at det går galt, når jeg implementerer multicast senderen til at sende objecter, og "direkte" listeneren til at modtage objecter... men ikke de to andre.

Hvordan er det nu man siger: tænk... tast... tal... ;)
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