Avatar billede brunkagen Nybegynder
30. oktober 2003 - 15:29 Der er 6 kommentarer og
1 løsning

Problemer med en client-server løsning

Hej Eksperter!

Jeg har en client og en server, som tilsyneladende virker. Når jeg starter serveren på maskine x og client på maskine y, kan de fint oprette en forbindelse. Men starter jeg serveren op på maskine y og client på maskine x kaster serveren en java.io.StreamCorruptedException. Er der nogen, som kender til lignende problemer - og som har en løsning?
Avatar billede brunkagen Nybegynder
30. oktober 2003 - 15:30 #1
Exceptionen skyldes en invalid stream header
Avatar billede arne_v Ekspert
30. oktober 2003 - 15:54 #2
Den fejl lyder som du bruger ObjectInputStream readObject og det
du læser ikke er et Java object !
Avatar billede brunkagen Nybegynder
30. oktober 2003 - 16:13 #3
Det kan tænkes! Jeg sender både strenge og objekter mellem clients og serveren. Men strenge er vel egentligt også objekter?! Jeg synes det er underligt at fejlen kun opstår når det er maskine y der kører server-applikationen!
Avatar billede arne_v Ekspert
30. oktober 2003 - 16:22 #4
Hvis du skriver strengene med writeObject burde det være OK.

Jeg tænker mere i retning af hvis der blev skrevet direkte
til OutputStram med write (altså helt uden om ObjectOutputSTream writeObject).
Avatar billede arne_v Ekspert
30. oktober 2003 - 16:23 #5
En anden potentiel fejl er at ObjectOutputSTream writeObject *ikke* er
thread safe, så hvis serveren er multi-threaded  så skal der laves
synchronize hvis flere tråde vil skrive til samem ObjectOutputStream - ellers
kan man se meget mærkelige fejl.
Avatar billede brunkagen Nybegynder
30. oktober 2003 - 18:08 #6
Ja, jeg har rettet fejlen. Problemet var, at der både blev sendt objects og strenge oven i hinanden. Dette rettede jeg ved at wrappe disse objects og strenge ind i samme type object og så bruge writeObject. Takker for hjælpen! Smid et svar for points! :)
Avatar billede arne_v Ekspert
30. oktober 2003 - 18:10 #7
svar
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