[RMI] Callback na innym kliencie

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?

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

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ć…

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:

http://stackoverflow.com/questions/8685688/how-to-invoke-method-on-the-client-from-the-server

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

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:

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ą.

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

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.

w sumie o_O

dzięki :stuck_out_tongue: