komunikacja pomiędzy programami

0

Witam,
mam potrzebę przeprowadzić komunikację pomiędzy trzema oddzielnymi programami w javie. Jeden z nich ma pełnić rolę serwera który będzie (na zawołanie) udostępniał odpowiednie dane. Sporo nad tym siedziałem i nadal nie wiem jak jakaś metoda programu-klienta ma wywołać inną działającą w uruchomionym w tym czasie gdzieś na komputerze programie-serwerze. Jakiej biblioteki i jakich jej klas oraz metod powinienem użyć w tym celu? Nie wiem jak taka metoda miałaby znajdować klasy serwera na dysku.

Z góry dziękuję za wszystkie odpowiedzi

0

Cieżko wyczuć co właściwie chcesz zrobić? Piszesz pod konkretny system czy stosujesz abstrakcyjne podejsćie do systemu jakie zapewnia czysta java?

Jeżeli to drugie to hmm sockety? Named Pipes? Opisz co chcesz zrobic i co gdzie jest....

0

Potrzebuję zbudować system zarządzający zamówieniami z hurtowni. Projekt ten ma składać się z 3 programów Zamówienia(generujące zamówienia), Kierowcyi System (zbierający dane o zamówieniach i wyznaczający drogę dla kierowców). Działanie tego projektu powinno wyglądać następująco: moduł Zamówienia generuje x zamówień w losowych odstępach czasu, i przekazuje je Systemowi (serwer). Moduł kierowcy odpowiada za symulowanie pracy kierowców rozwożących towary. On także komunikuje się z Systemem. Jak dotąd nie udało mi się zaprojektować komunikacji pomiędzy poszczególnymi programami-składowymi. Czytałem o bibliotece java.rmi ale nie potrafię jej użyć. Wyczytałem że uruchomienie projektu takiego jak mój powinno wyglądać mniej więcej tak:
Aby projekt zadziałał poprawnie należy wykonać następujące czynności:

  1. Przygotowujemy plik java.policy o treści:
    grant {
    permission java.net.SocketPermission "*:1024-", "accept,
    listen, connect, resolve";
    };
  2. Generujemy namiastki dla zdalnych obiektów
    rmic -v1.2 Serwer
  3. Uruchamiamy rejestr nazw:
    a. [unix] rmiregistry &
    b. [dos,win] start rmiregistry
  4. Uruchamiamy obiekty pozorne za pomocą poleceń:
    a. java -Djava.security.policy=java.policy Zamowienia
    b. java -Djava.security.policy=java.policy Kierowcy
  5. Uruchamiamy program główny poleceniem:
    java -Djava.security.policy=java.policy System

Ale nadal nie wiem jak klasa klienta (kierowca lub zamówienia) ma znaleźć klasę serwera? Jak ma sprawdzić czy jest uruchomiony? Jak ma wywołać metodę na serwerze? Czy przedstawiony przeze mnie sposób generowania namiastek jest dobry?

 
0

przepraszam za pomyłkę
w punkcie piątym powinno być
java -Djava.security.policy=java.policy Serwer

0

http://download.oracle.com/javase/tutorial/rmi/index.html - tu powinny być odpowiedzi na wszystkie Twoje pytania

1 użytkowników online, w tym zalogowanych: 0, gości: 1