Avatar billede code0.dk Nybegynder
24. september 2002 - 13:09 Der er 29 kommentarer og
2 løsninger

RMI

Når jeg prøver at lave en rmI server får jeg hele tiden denne fejl, og "127.0.0.1" er localhost har også prøve med både min interne og externe ip, men det virker ikke, og min firewall er slået fra såå ?
Er der noget specielt jeg skal huske når jeg vil have denne server til at køre
Add. har brugt java tutorial, såå det skulle gerne være korrekt det jeg har lavet :)
exception: access denied (java.net.SocketPermission 127.0.0.1:1099
connect,resolve)
Avatar billede olly Nybegynder
24. september 2002 - 14:21 #1
HAr du en accessfil?
Avatar billede code0.dk Nybegynder
24. september 2002 - 14:22 #2
nææ
Avatar billede olly Nybegynder
24. september 2002 - 14:23 #3
Så er det nok derfor
Avatar billede olly Nybegynder
24. september 2002 - 14:28 #4
Lav en fil der hedder : simple.policy

med det her indhold :

grant {
// Allow everything for now
permission java.security.AllPermission;
};

Den skal så ligge i samme bib som din RMIserver... :)
Avatar billede code0.dk Nybegynder
24. september 2002 - 14:31 #5
ok, hvis jeg har lavet det som en jar fil skal den så med i jar filen eller skal den bare ligge ved jar filen ?
Avatar billede olly Nybegynder
24. september 2002 - 14:31 #6
Vil nok smide det i jarfilen... Men hvorfor ikke teste uden det er en jar først?
Avatar billede magoo20000 Nybegynder
24. september 2002 - 14:33 #7
Prøv at poste din kode.. Den skal i jar'en, men lad os prøve at fokusere på at få det til at virke først, så kan du altid pakke det bagefter.
Avatar billede olly Nybegynder
24. september 2002 - 14:33 #8
Nemlig... Men tror det er det med en policy fil... Men koden er også ok...
Avatar billede code0.dk Nybegynder
24. september 2002 - 14:36 #9
koden er den der står
http://java.sun.com/docs/books/tutorial/rmi/index.html
ville nemlig lige prøve deres eksempel før jeg selv gik igang med det store og vilde program :)
Avatar billede olly Nybegynder
24. september 2002 - 14:40 #10
Har du så prøvet med den fil?
Avatar billede code0.dk Nybegynder
24. september 2002 - 14:41 #11
Får også fejl når jeg prøver at starte rmiregistry : program couldn't find the main class
Avatar billede olly Nybegynder
24. september 2002 - 14:42 #12
Hvad mener du?
Avatar billede magoo20000 Nybegynder
24. september 2002 - 14:44 #13
Ok! Nu er det kompileret...Lad mig så se..
Avatar billede code0.dk Nybegynder
24. september 2002 - 14:48 #14
ja det er kompileret og jeg har smidt policy filen ind ind i det bib serveren ligger i, og så skal jeg ifølge tutorialen starte rmiregisty det kan jeg ikke.
add. er lige væk nogle timer, så der kan jeg ikke afprøve jeres svar.
Avatar billede magoo20000 Nybegynder
24. september 2002 - 15:16 #15
Min version virker fint: Serveren siger: ComputeEngine bound.
Jeg har benyttet en standard policy-fil(som olly's).

Jeg har lavet et par .bat-filer:

Rmi.bat
cd C:\new\
set path=c:\j2sdk1.4.0\bin;%path%
rmic -v1.2 -classpath C:\new ComputeEngine
pause

Server.bat
set classpath=C:\new\;%classpath%
set path=c:\j2sdk1.4.0\bin;%path%
start rmiregistry
cd C:\new\
java -Djava.security.policy=simple.policy ComputeEngine

Al min kode ligger i c:\new og jeg har SDK installeret i c:\j2sdk.1.4.0

simple.policy er 'olly's' kode ;-)
Avatar billede code0.dk Nybegynder
24. september 2002 - 15:18 #16
ok, hvad har du til at ligge i new, en jar fil eller dine class filer ??
Avatar billede magoo20000 Nybegynder
24. september 2002 - 15:23 #17
Mine .class-filer
Avatar billede code0.dk Nybegynder
24. september 2002 - 15:26 #18
hey nu virker det ??? ok, spøjst nå men jeg takker mange gange og synes i begge fortjener point, så hvis du olly kommer med et svar, så ligger jeg point i så I begge får 15 point .)
Avatar billede magoo20000 Nybegynder
24. september 2002 - 15:32 #19
D r fjong med mig!-)
Husk at genbruge de her .bat-filer til senere opgaver/projekter osv.. Jeg benytter dem tit ifb. rmi.
Avatar billede code0.dk Nybegynder
24. september 2002 - 15:38 #20
ok,will do.  magoo20000>> nu må jeg lige høre har du brugt meget RMI for så har jeg et lille spørgsmål omkring objekter og metodekald via RMI
Avatar billede magoo20000 Nybegynder
24. september 2002 - 15:40 #21
Prøv!
Avatar billede code0.dk Nybegynder
24. september 2002 - 15:45 #22
hvis jeg i min server app. nu har en pakke med nogle klasser/objekter, hvor der i klasserne selvfølgelig er metoder til de forskellige objekter, og jeg så sender dette objekt med over til min klient app. hvordan kan jeg så uden at importere denne pakke bruge nogle af objektetes metoder ?? for hvis alle metoder ligger i det interface der bliver brugt både at klienten og serveren så er der vel ikke så meget objektorienteret tilbage?? Eller??
Avatar billede magoo20000 Nybegynder
24. september 2002 - 15:52 #23
Er ikke helt sikker på at jeg er med ;)
Vi du sende obj. fra serveren over til klienten?
Dit interface definerer, hvilke metoder klienten kan kallde på serveren(altså hvad der skal registreres i rmi-registry, som er opbygget lidt a la dns nameserverne).
Du kan godt have forskellige interfaces på henholdsvis klient og server, og serveren kan også godt kalde metoder på klienten - det bliver f.eks. brugt i Observer pattern. Dette er faktisk et brud på den klassiske client/server arkitektur.
Men var det nu det du mente?
Avatar billede code0.dk Nybegynder
24. september 2002 - 15:57 #24
Njaa jeg kan lige prøve at forklare det lidt mere præcist.
I min server der henter jeg en masse input ind fra en database, og smider den i nogle "bruger" objekter, hvor der er nogle metoder til f.eks. hent String name, hent int alder osv., men da den klasse disse objekter er instantieret fra ligger på serveren, og da jeg bare sender objekter f.ek. anders med over til klienten, så kan jeg ikke lige se hvordan jeg kan kalde metoden f.eks. "anders.getName()"; fra objektet?.
Da jeg som du nok kan gætte er heeelt ny til RMI så ved jeg ikke så meget omkring opbygningen her så jeg ved ikke hvordan dette gøres mest korrekt
Avatar billede magoo20000 Nybegynder
24. september 2002 - 16:11 #25
Ok. På serveren opretter du f.eks. et bruger objekt ved navn x, som du fodre med oplysninger fra db. Dette implementerer naturligvis interfacet Serializable. På klienten vil du godt kunne kalde fx. x.getName() selvom objektet er skabt på serveren..Dette håndterer Java og rmi for dig vha at du definerer getName() i dit interface.
Avatar billede olly Nybegynder
24. september 2002 - 16:25 #26
Svar :-) 

Bestemt en unfair point deling... Giv mig 10 og magoo20000 20... Han fortjener mest for at komme med koden *S* Havde ikke lige Java på den maskine jeg var ved før!

Men du bestemmer!
Avatar billede code0.dk Nybegynder
24. september 2002 - 16:31 #27
hmmm ok, men hvordan skal det så defineres i mit interface, kan du komme med et eksempel på hvordan denne metode implementeres i interfacet, skal nok smide nogle flere point i til dig, når engang jeg får dette banket ind :)
Avatar billede magoo20000 Nybegynder
24. september 2002 - 16:41 #28
Ja - hvad er din mail adresse?
Jeg sender lidt rmi, så tar vi det derfra.
Avatar billede code0.dk Nybegynder
25. september 2002 - 08:54 #29
jeps msieker@tiscali.dk
Avatar billede magoo20000 Nybegynder
25. september 2002 - 15:43 #30
OK! Sender noget torsdag, når jeg kommer hjem!
Avatar billede code0.dk Nybegynder
25. september 2002 - 16:07 #31
kanon, I får lige nogle point nu, det skal helst ikke glemmes :)
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