[RMI] Callback na innym kliencie


(Kamiljano) #1

chyba nie wiem, co powinienem wpisać w google, żeby to znaleźć...

przypuśćmy, że mamy klientów A i B podłączonych do jednego serwera. Czy istnieje taka możliwość, żeby za pomocą RMI klient A w jakiś sposób poprosił serwer o wywołanie metody na kliencie B?


(Enterbios) #2

Nie bezpośrednio. Klient A może przekazać komendę to serwera, a następnie klient B periodycznie odpytywać serwer o komendy dla niego.


(Kamiljano) #3

to jakby nie jest rozwiązanie... po to są callbacki, żeby nie było trzeba stosować poolingu bo niech się pojawi 50 klientów i już serwer nie jest w stanie więcej zapytań na raz obsłużyć, a to przecież dopiero same zapytania o to czy mają coś robić...


(Enterbios) #4

Zapewniam Cię że w przypadku takiego zastosowania 50 klientów nie będzie problemem dla żadnego serwera (no chyba że serwer jest podpięty do neta przez dial-up).

Napisz co próbujesz zrobić bo może nie potrzebnie bierzesz do tego RMI.

Tak przy okazji tutaj masz link do tematu z twoim problemem:

Możesz też z każdego klienta zrobić jednocześnie serwer. Natomiast nie możesz wywołać z poziomu serwera wywołać metody klienta.


(Kamiljano) #5

rozproszoną aplikację do brute force'a :stuck_out_tongue: wiem, można to na zwykłych socketach robić, ale jeśli na to tak patrzyć, to teoretycznie na zwykłych socketach da się wszystko :slight_smile: a o RMI i o CORBA'ie usłyszałem całkiem niedawno i chciałem je wykorzystać do czegoś i zobaczyć przy okazji jak to działa :slight_smile:


(Enterbios) #6

No dobra to czemu maszyna A ma wywoływać metody na maszynie B?

Serwer stawiasz do synchronizacji i do przydziału przestrzeni kluczy czy co tam chcesz łamać. Klienci pracują niezależnie od siebie każdy na swojej przestrzeni kluczy, nie muszą się komunikować między sobą.


(Kamiljano) #7

nie chcę operować bezpośrednio na serwerze. Chcę, żeby wszyscy klienci najpierw łączyli się z serwerem, jeden nich zleca serwerowi łamanie hasła, serwer rozdziela niewielkie zakresy haseł różnym klientom, żeby ci je testowali.

-- Dodane 04.07.2012 (Śr) 20:50 --

klienci więc cały czas czekają na callbacki od serwera i serwer musi dopiero aktywować klientów do działania


(Enterbios) #8

Możesz podłączyć klientów do serwera którzy będą próbowali pobrać przestrzeń kluczy, i będą wisieć w połączeniu tak długo aż serwer im czegoś nie przydzieli, a nie przydzieli dopóki jeden z klientów nie zleci hasła.


(Kamiljano) #9

w sumie o_O

dzięki :stuck_out_tongue: