? En multihomed värd är en dator eller annan hårdvara som håller mer än en IP -adress . Att ha flera IP-adresser är inte ovanligt eftersom adressen rör Internet gränssnittet , inte maskinen : En dator som har både en Ethernetport och en Wi - Fi -anslutning har en annan IP-adress för varje gränssnitt . Använda en multihomed dator kan påverka hur Java Virtual Machines interagerar med varandra . RMI
Remote Method Invocation är en Java- programmeringsgränssnitt som hjälper Java virtual machines - Java - baserade plattformar - utnyttja varandras program . Om en utvecklare installerar sitt eget program på en Java- maskin , kan hon dela det med andra utvecklare och förse dem med alla uppdateringar hon gör , men det kan ta en hel del tid . RMI gör det lättare : . När hon installerar uppdateringar i Webbkatalog gör RMI de andra virtuella maskiner för att få uppdateringar utan att utvecklaren göra något ytterligare arbete
Anropa
för att interagera med ett avlägset objekt - en mjukvara som finns på en annan Java maskin - med RMI , är det första steget vanligtvis för att ansluta med en " stub " i en RMI -registret . Stubben innehåller identifierande data för den mottagande maskinen håller det avlägsna objektet , till hamnen på den värd där RMI tar förfrågningar att komma åt objektet , och för själva objektet . Den innehåller också en socket fabriken , vilket är en RMI program som styr hur Java Virtual Machines ansluter till objektet .
Multihomes och RMI
När RMI försöker att återställa ett objekt från en multihome värd , blir processen mer komplicerad . Om RMI på din Java maskinen identifierar din dators Wi - Fi- adress som värd , kan datorer anslutna till dig i ett Ethernet-nätverk använder inte RMI att komma åt något på datorn . Du kan ställa in RMI så att det erbjuder Intranät adress , men om du vill att andra virtuella maskiner för att komma åt din genom både Wi - Fi och Ethernet RMI kapacitet , som fortfarande inte är rätt inställning .
lösningar
att göra RMI användbara oavsett hur andra datorer ansluta till din värd , använda eluttaget fabriken för att kontrollera anslutningen . Med hjälp av en Java- variabel som heter ThreadLocal , kan du ge uttaget fabriken en IP-adress som alla datorer som använder RMI måste ansluta till . Du kan också ställa in Java så att det ger andra datorer med en lista över alla möjliga värdnamn - alla IP-adresser på ditt nätverk - och väljer den rätta från den listan