Pagina 1 di 1

[Java] remote method invocation

Inviato: domenica 5 febbraio 2012, 16:06
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

Re: [Java] remote method invocation

Inviato: domenica 5 febbraio 2012, 17:38
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.

Re: [Java] remote method invocation

Inviato: domenica 5 febbraio 2012, 19:56
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?

Re: [Java] remote method invocation

Inviato: domenica 5 febbraio 2012, 19:58
da Zoff
Prima va messo extends, poi implements.

Re: [Java] remote method invocation

Inviato: lunedì 6 febbraio 2012, 9:23
da sepp95
Oh è vero grazie

Re: [Java] remote method invocation

Inviato: lunedì 6 febbraio 2012, 10:37
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

Re: [Java] remote method invocation

Inviato: lunedì 6 febbraio 2012, 13:31
da Zoff
C'è un tipo di ritorno di troppo.
Hai messo sia void che String.

[Java] server e client aiuto

Inviato: martedì 7 febbraio 2012, 12:01
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?

Re: [Java] remote method invocation

Inviato: martedì 7 febbraio 2012, 12:47
da Zoff
Il crossposting è vietato. Ho unito le discussioni.

Re: [Java] remote method invocation

Inviato: martedì 7 febbraio 2012, 13:19
da sepp95
Non sapendo cosa è non sapevo fosse vietato. Spero qualcuno sappia rispondermi

Re: [Java] remote method invocation

Inviato: martedì 7 febbraio 2012, 14:04
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.

Re: [Java] remote method invocation

Inviato: martedì 7 febbraio 2012, 14:41
da sepp95
ok chiedo perdono