Toon posts:

Java - RMI objecten doorsturen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik werk momenteel aan een project waarbij gebruik moet gemaakt worden van RMI. Doordat wij werken met communicatie met PDA's wordt enkel ondersteuning voorzien tot java 1.4 en we maken gebruik van rmic. We zijn er reeds in geslaagd om primitieve types door te sturen en hierop een aantal methoden toe te passen maar nu zouden we ook graag zelf objecten maken en deze doorsturen en veranderen. Is er iemand die een heel eenvoudig voorbeeld heeft staan van code voor zowel client als server. Liefst enkel een heel basis programmatje zodat we het principe kunnen snappen en van daaruit verder werken.

  • DaRKie
  • Registratie: December 2001
  • Laatst online: 09:57
Objecten die je wilt doorsturen moeten serializable zijn:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.io.Serializable; 

public class Data implements Serializable { 
   private String message; 

   public Data(String msg) { 
      message = msg; 
   } 

   public String getMessage() { 
      return message; 
   } 
}


Verder is hier veel over te vinden op google en er is ook een tutorial op Sun als ik me niet vergis.

Edit:
http://java.sun.com/docs/books/tutorial/rmi/index.html

[ Voor 7% gewijzigd door DaRKie op 30-10-2006 15:20 ]


Verwijderd

Topicstarter
Verder is hier veel over te vinden op google en er is ook een tutorial op Sun als ik me niet vergis.

Edit:
http://java.sun.com/docs/books/tutorial/rmi/index.html
Ik heb de tutorial van Sun al geprobeerd, maar dat ding is vindik persoonlijk niet de meest duidelijke en overzichtelijke tutorial die er is :)

Ons huidig programma bestaat uit een Client klasse dewelke verbdinding maakt. We hebben ook een Server interface en een Server implementatie. Verder ook een interface gemaakt voor testobjecten met bijbehorende klasse dewelke serializable implementeert. Maar nu willen we dus in de Client klasse een object aanmaken, maar dit lukt nog niet bepaald goed. Welke code moet onze Serverklasse voorzien om de client een object te laten maken?

  • MetroidPrime
  • Registratie: Oktober 2003
  • Laatst online: 25-01 09:16

MetroidPrime

Turn it up loud, captain!

Verwijderd schreef op maandag 30 oktober 2006 @ 15:23:
Maar nu willen we dus in de Client klasse een object aanmaken, maar dit lukt nog niet bepaald goed. Welke code moet onze Serverklasse voorzien om de client een object te laten maken?
Wat gaat er precies fout dan?

"Some girl on the street outside the bar just asked me if I was saved yet." "Yeah? What did you say?" "I told her 'I saved at the checkpoint a couple of minutes back and I can reload from there if I die.'


Verwijderd

Topicstarter
Wat gaat er precies fout dan?
We hebben nu een methode op onze server staan die een object aanmaakt en returned naar de Client. Het aanmaken van dat object lukt perfect (hebben we getest), maar in de laatste stap waar de Server het object returned faalt het en krijgen we: "Exception in thread "main" java.lang.ClassCastException: rmitest.TestObject_Stub" met TestObject de klasse van onze objecten, rmitest onze projectmap en de Stub uiteraard horende bij ons TestObject.

  • MetroidPrime
  • Registratie: Oktober 2003
  • Laatst online: 25-01 09:16

MetroidPrime

Turn it up loud, captain!

Het is alweer een tijdje terug, maar als ik het me goed herinner hoef je helemaal geen stubs te genereren voor Objecten die je over wilt sturen. Je hoeft alleen een stub aan te maken voor de Server class zelf.

"Some girl on the street outside the bar just asked me if I was saved yet." "Yeah? What did you say?" "I told her 'I saved at the checkpoint a couple of minutes back and I can reload from there if I die.'


Verwijderd

Topicstarter
Zonder Stub krijgen we dezelfde error alleen: ClassCastException: $proxy0
of $proxy1 of iets in die aard...

  • MetroidPrime
  • Registratie: Oktober 2003
  • Laatst online: 25-01 09:16

MetroidPrime

Turn it up loud, captain!

Verwijderd schreef op maandag 30 oktober 2006 @ 16:16:
Zonder Stub krijgen we dezelfde error alleen: ClassCastException: $proxy0
of $proxy1 of iets in die aard...
Heb je dan wel een stub voor je server class gegenereerd?

"Some girl on the street outside the bar just asked me if I was saved yet." "Yeah? What did you say?" "I told her 'I saved at the checkpoint a couple of minutes back and I can reload from there if I die.'


Verwijderd

Topicstarter
Heb je dan wel een stub voor je server class gegenereerd?
jaja, die is in orde

Verwijderd

Topicstarter
Je had gelijk, stubs zijn niet nodig. Het is in orde! Dank!
Pagina: 1