Avatar billede casualty Nybegynder
30. december 2002 - 02:16 Der er 8 kommentarer og
2 løsninger

ClassCasting??

Jeg sender et object over en socket connection Således:

try
    {
      o=soc.getOutputStream();
      s=new ObjectOutputStream(o);
      s.writeObject(new Test());
    }

Og modtager det samt prøver at caste det:

try
    {
      ObjectInputStream ois = new ObjectInputStream 
      (client1.getInputStream());
      Test t = (Test)ois.readObject();
      System.out.println(t.GetData());
    }

Men den bliver ved med at komme med en ClassCast exception ligemeget hvad jeg gør...Nogle der har et bud på hvad der kan være galt??

Mvh Casualty.
Avatar billede casualty Nybegynder
30. december 2002 - 02:17 #1
Her er mit test object:

package server2;

import java.io.*;

public class Test extends Object implements Serializable
{
  public Test()
  {
  }
  public String GetData()
  {
    return "dette er en test";
  }
}
Avatar billede riversen Nybegynder
30. december 2002 - 09:03 #2
du kan jo prøve System.out.println( ois.readObject instanceof Test );
Avatar billede arne_v Ekspert
30. december 2002 - 09:42 #3
Har både client og server samme version af Test klassen ?
Avatar billede disky Nybegynder
30. december 2002 - 10:24 #4
Hvis du ændrer det mindste i test klassen er det meget vigtigt nåde client og server bruger den nyeste version, pass på den ikke bliver cachet.
Avatar billede arne_v Ekspert
30. december 2002 - 10:35 #5
Jeg bruger tit følgende:
  client only kode i package xxxxxx.client
  server only kode i package xxxxxx.server
  kode shared mellem client og server i package xxxxxx.common
  package xxxxxx.client og xxxxxx.common pakkes i xxxxxx-client.jar
  package xxxxxx.server og xxxxxx.common pakkes i xxxxxx-server.jar
så har man en lile chance for at hold estyr på det.
Avatar billede casualty Nybegynder
30. december 2002 - 10:53 #6
Oki....God idé med en common package...
Testklassen er 100% ens i begge packages pånær packageangivelsen der er forskellig alt efter om den ligger i server eller client...

Prøver at kigge på det senere

Mvh Casualty
Avatar billede arne_v Ekspert
30. december 2002 - 11:00 #7
Så er det fejlen !

pakke angivelsen skal også være ens !
Avatar billede arne_v Ekspert
30. december 2002 - 11:00 #8
En klasse er identifceret ved dens fulde navn
server.Test og client.Test er 2 forskellige klasser.
Avatar billede arne_v Ekspert
30. december 2002 - 11:01 #9
Lad os sige at noget ovenfor er et svar !
Avatar billede casualty Nybegynder
30. december 2002 - 11:10 #10
Ok....Tak for hjælpen ;) Det virker..
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