[Java] remote method invocation

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
sepp95
Prode Principiante
Messaggi: 161
Iscrizione: lunedì 9 agosto 2010, 15:11

[Java] remote method invocation

Messaggio da sepp95 »

salve a tutti. sto provando a scrivere un programmino implementando il remote method invocation. dal mio manuale trovo una cosa simile

Codice: Seleziona tutto

import java.rmi.*;


public interface MyServerInterface extends remote {
	public String concat(String a, String b) throws RemoteException;
	
}


public class Myserver implements MyServerInterface extends UnicastRemoteObject{
	
	public void MyServer() throws RemoteException {
	}	
	
	public void String concat(String a, String b) throws RemoteException{
		return a + b;

	}
}

però non mi viene compilato. inoltre vorrei sapere... va bene o manca qualcosa?
perchè devo creare l'interfaccia, che contiene lo stesso metodo della classe?
non capisco perchè ripetere il tutto
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [Java] remote method invocation

Messaggio da Zoff »

Che errore ottieni?

L'interfaccia serve perché l'applicazione remota non ha bisogno di sapere com'è fatto il tuo oggetto, basta che sappia che metta a disposizione il metodo concat(). È una questione di information-hiding.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
sepp95
Prode Principiante
Messaggi: 161
Iscrizione: lunedì 9 agosto 2010, 15:11

Re: [Java] remote method invocation

Messaggio da sepp95 »

Codice: Seleziona tutto

 javac MyServer.java
MyServer.java:11: '{' expected
public class Myserver implements MyServerInterface extends UnicastRemoteObject{
                                                  ^
MyServer.java:16: '(' expected
	public void String concat(String a, String b) throws RemoteException{
	                   ^
2 errors

ecco gli errori.

quindi è obbligatorio ripetere anche tutti i metodi sia nell'interfaccia che nella classe?
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [Java] remote method invocation

Messaggio da Zoff »

Prima va messo extends, poi implements.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
sepp95
Prode Principiante
Messaggi: 161
Iscrizione: lunedì 9 agosto 2010, 15:11

Re: [Java] remote method invocation

Messaggio da sepp95 »

Oh è vero grazie
sepp95
Prode Principiante
Messaggi: 161
Iscrizione: lunedì 9 agosto 2010, 15:11

Re: [Java] remote method invocation

Messaggio da sepp95 »

comunque continua a darmi questo errore. la parentesi non capisco proprio dove ce la devo mettere

Codice: Seleziona tutto

MyServer.java:16: '(' expected
	public void String concat(String a, String b) throws RemoteException{
	                   ^
1 error
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [Java] remote method invocation

Messaggio da Zoff »

C'è un tipo di ritorno di troppo.
Hai messo sia void che String.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
sepp95
Prode Principiante
Messaggi: 161
Iscrizione: lunedì 9 agosto 2010, 15:11

[Java] server e client aiuto

Messaggio da sepp95 »

salve ragazzi. per creare un server e un client in java come devo fare?

sto leggendo qualcosa a proposito. ma non ho capito molto. in pratica ho scritto il server con la sua interfaccia

SERVER

Codice: Seleziona tutto

import java.rmi.*;
import java.net.*;
import java.rmi.server.*;




public class MyServer extends UnicastRemoteObject implements MyServerInterface {
	
	public MyServer() throws RemoteException {
	}

	public String concat(String a, String b) throws RemoteException {
		return a+b;
	}

}

INTERFACCIA

Codice: Seleziona tutto

import java.rmi.*;
import java.io.*;
import java.net.*;


public interface MyServerInterface extends Remote {

	public String concat (String a, String b) throws RemoteException;

}
POI HO COMPILATO TUTTO
ho dato da terminale

rmic MyServer

ottenendo stub e sckeleton

poi ho scritto un altro file

Codice: Seleziona tutto

import java.rmi.*;
import java.net.*;


public class Exe {

	public static void main (String[] args) throws RemoteException{

		MyServerInterface server;
		String url = "//" + serverhost + "/Myserver";
		server = (MyServerInterface) Naming.lookup(url);
		

se è tutto giusto non lo so, ma in ogni caso non so cosa fare dopo.
un aiutino?
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [Java] remote method invocation

Messaggio da Zoff »

Il crossposting è vietato. Ho unito le discussioni.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
sepp95
Prode Principiante
Messaggi: 161
Iscrizione: lunedì 9 agosto 2010, 15:11

Re: [Java] remote method invocation

Messaggio da sepp95 »

Non sapendo cosa è non sapevo fosse vietato. Spero qualcuno sappia rispondermi
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [Java] remote method invocation

Messaggio da Zoff »

sepp95 ha scritto: Non sapendo cosa è non sapevo fosse vietato.
È scritto nel regolamento, che tutti dovrebbero aver letto all'iscrizione:
http://forum.ubuntu-it.org/index.php?action=regolamento ha scritto:16. Cross-Posting. Evitate di inviare messaggi simili in sezioni differenti. Ciò provoca confusione e dispersione delle informazioni all'interno del forum in quanto le discussioni, normalmente, tendono a svilupparsi solo in una delle discussioni inserite. Nel caso di errore nell'inserimento della discussione (sezione errata) inviate un messaggio privato allo staff richiedendo lo spostamento della discussione. Messaggi e discussioni di questo tipo potranno essere modificati, spostati nella sezione "Quarantena", bloccati o cancellati. Cross-posting ripetuti da parte dello stesso utente, configurandosi come spam, potranno essere sanzionati di conseguenza.
Magari dagli un (ri)letta.
Ultima modifica di Zoff il martedì 7 febbraio 2012, 14:26, modificato 1 volta in totale.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
sepp95
Prode Principiante
Messaggi: 161
Iscrizione: lunedì 9 agosto 2010, 15:11

Re: [Java] remote method invocation

Messaggio da sepp95 »

ok chiedo perdono
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti