19. oktober 2001 - 10:42Der er
12 kommentarer og 1 løsning
RMI på Linux - connection refused
Hej,
Jeg har lidt problemer med at tilgå en RMI-server, der ligger på en Linux-maskine. Det undrer mig lidt, da jeg godt kan køre få tingene til at virke, hvis jeg kører serveren på en Windows-maskine. Derudover kan jeg også få det til at virke, hvis jeg kører klienten lokalt på den Linux-maskine, hvor RMI-serveren også ligger.
Følgende fejl kommer ved kørsel af klienten:
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: java.net.ConnectException: Connection refused: no further information
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Det er da klart, du referer til 127.0.0.1 (Som altid er dig selv) når du kalder serveren, ret det til hostname på din serverstub. Hvis du bruger registry, så sørg for at det er den du slår op i.
Yep, men prøv at kigge på ovenstående, det er fordi du beskriver i din kode, at dit rmiregistry kører på samme maskine som klienten, og det gør det som regel ikke.
Jeg har nu haft lejlighed til at sammenligne min kode med dit forslag - og umiddelbart synes jeg, at de minder meget om hinanden i forvejen. Jeg har skrevet noget af det her (let simplificeret):
Jamen, det var godt det kom til at virke. Jeg vil dog på det kraftigste fraråde dig at have mappet localhost til andet end 127.0.0.1, men det finder du nok ud af.
Jeg har nu fundet en mere autoriseret løsning - simpelthen lige at sætte flg. parameter på, når jeg kører serverprogrammet (ud over mit policy-sjov, selvfølgelig):
-Djava.rmi.server.hostname=ip-nummer
På den måde kan man få den til at benytte det IP-nummer, som man vil have den til.
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.