Salve a tutti, sto realizzando un progettino in RMI e ho il seguente problema:
Dato un Server e un Client, il server deve visualizzare il desktop del client. Per fare ciò, il client crea uno screenshot e lo invia al server. Il server lo visualizzerà. Poichè però, il comando di fare lo screenshot, lo da' il server al client, una volta che il client parte per eseguire il comando, sul server mi compare lo screenshot del server stesso nonostante a fare lo screen shot sia il client in un altro pc.
il metodo che viene invocato sul client da server, è un VOID quindi dovrebbe avere effetto sul client ed invece non è cosi.
Il client si collega al server, gli passa il suo riferimento di modo che il server puo invocare i metodi del client in remoto.
Questo è il metodo cliamato dal client sul server:
codice:
@Override
synchronized public void initalizeChannel(IClient client) throws RemoteException {
if (!channels.containsKey( client.getIdentifier() )) {
try {
String identifier = client.getIdentifier();
ChannelPanel cc = new ChannelPanel( identifier );
Channel channel = new Channel();
channel.setChannelPanel(cc);
channel.setClient(client);
channels.put( identifier , channel );
guiServer.pScrool.addSchermo(cc);
/* PARTE LA VIDUALIZZAZIONE */
channels.get( identifier ).getClient().startSendScreenView() ;
} catch (Exception e) { e.printStackTrace(); } } }
l'ultima riga di codice chiamerà il metodo sul client.
grazie