Avatar billede f_bar Nybegynder
13. oktober 2002 - 12:47 Der er 10 kommentarer og
1 løsning

RMI : hvilken port

Jeg har lige lavet en RMI app. hvor jeg har fulgt den tutorial der er inde på java.sun.com
Sagen er den at jeg sidder bag en router og skal ha' åbnet op for den port klienten skal connecte til serveren på ??
Så mit spørgsmål er, findes der en måde hvorpå jeg kan finde ud af hvilken port/porte jeg skal åbne??
f_bar
Avatar billede arne_v Ekspert
13. oktober 2002 - 12:57 #1
RMI er default port 1099, så hvis ikke du
har valgt en anden port, så er det 1099.

(du kan verificere med "netstat -a" eller
tilsvarende for dit operativ-system)
Avatar billede f_bar Nybegynder
13. oktober 2002 - 12:58 #2
ok, hvis der er flere klienter der connecter til RMI serveren bruger de så samme port ?? eller??
Avatar billede arne_v Ekspert
13. oktober 2002 - 13:39 #3
Port 1099 er RMI registry server. Den kan bruges af
både multiple servere og multiple klienter.

Din RMI klient og din RMI server kommunikerer
så via en anden port. Men den kommnuikation
kan også tunneles gennem HTTP.

Se f.eks.:
  /jdk1.3.1/docs/guide/rmi/spec/rmi-arch6.html

Så normalt er det ikke et problem (HTTP går
næsten altid igennem).

Bemærk at denne port også kan deles.

Det er vistnok muligt at sætte den port
til noget fast, men så skal du ind og kode
noget - og måske er RMI slet ikke det rette
valg så.
Avatar billede f_bar Nybegynder
14. oktober 2002 - 11:41 #4
arne_v>> der findes ikke en metode man kan kalde og finde ud af hvilken port en klient har connected til??
Avatar billede f_bar Nybegynder
07. november 2002 - 19:03 #5
Ingen måde eller hvad, dette spg. bliver snart lukket
Avatar billede arne_v Ekspert
07. november 2002 - 22:32 #6
Hvis du har connectet, så må porten kunne
ses med netstat -a.
Avatar billede f_bar Nybegynder
07. november 2002 - 22:56 #7
tjaa men jeg synes nu det er en lidt dum måde der må være en java metode til det ??
Avatar billede arne_v Ekspert
07. november 2002 - 23:23 #8
Har du prøvet og keepe stub & skeleton Java
source code og kigge lidt i den ?
Avatar billede skovgaard3 Nybegynder
13. november 2002 - 01:20 #9
Hvorfor angiver du så ikke bare den port du gerne vil bruge. Fx. port 8000 i nedenstående eksempel.

På serveren:
java.rmi.registry.LocateRegistry.createRegistry(8000);
GemmePose objektSæk = new IndkøbsPose();
java.rmi.Naming.rebind( "//localhost:8000/cls", objektSæk);

På klienten:
try{
      pose = (Gemmepose)java.rmi.Naming.lookup("//cls.mine.nu:8000/cls");
}
catch(Exception e){e.printStackTrace();}
Avatar billede arne_v Ekspert
13. november 2002 - 06:54 #10
Er det ikke RMIRegistry's port du angiver der og
ikke din RMI server applikations port ?
Avatar billede skovgaard3 Nybegynder
13. november 2002 - 18:14 #11
Linjen "java.rmi.registry.LocateRegistry.createRegistry(8000);" svarer til at køre "rmiregistry" fra dos prompten.
Det synes jeg er nemmere end at skulle starte den manuelt. Hvis man ønsker det, kan man sende et portnr. med ind (i dette tilfælde 8000), som den så vil starte serveren på.
Så svaret må være både ja og nej. De to ting du snakker om er en og samme ting.
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