Witajcie. Zrobiłem Działajace RMI. klient wywołuje zdalnie metode doCommunicate() która wyswietla na konsoli zwykly komunikat oraz imie przekazane jako argument. Razem 4 klasy.
RMIDemo - Interfejs 
RMIDemoImpl - implementuje interfejs RMIDemo i zawiera nasza funkcje która klient bedzie zdalnie wywolywal
RMIDemoServer - Server który binduje objekt typu RMIDemoImpl aby klient mógł wywołac zdalnie metode
RMIDemoClient Klient łaczacy sie z namiastką RMIDemoImpl_Stub (nie ma jej w projekcie zaraz napisze jak ja zrobic) 

Ok. 
Aby uruchomić nasz program nalezy wykonc po kolei nastepujace czynnosci:
1. Wchodzimy do wiersza poleceń i wchodzimy do folderu gdzie przechowywane sa klasy w netbeans C:\Users\Kamil\Rozproszone\build\classes\  (Oczywiscie u was jest inna nazwa uzytkownika u mnie to Kamil.)
2. Generujemy namiastke RMIDemoImpl_Stub wpisujac komende: rmic rozproszone.RMIDemoImpl  W ten sposób wygenerowalismy namiastke która pojawi sie w folderze classes.
3. Uruchamiamy rejestr RMI wpisujac: rmiregistry
4.Odpalamy drugą konsole, wchodzimy do C:\Users\Kamil\Rozproszone\build\classes\   uruchamiamy server wpisujac:
java rozproszone.RMIDemoServer Powiniec pojawic sie komunikat od servera "RMIDemo object bound to the name 'RMIDemo' and is ready for use... "
5. Odpalamy trzecia konsole wchodzimy do tego samego folderu i uruchamiamy klienta wpisujac: java rozproszone.RMIDemoClient localhost Imie (zamiast localhost moze byc ip trzeba to bedzie przetestowac na kilku kompach. drógi parametr to nasze imie)
Zostanie wywolana metoda doCommunicate() drukujaca komunikat "Server says: Hi "+name