3 import java.rmi.Naming;
5 import java.io.FileOutputStream;
6 import java.io.DataOutputStream;
7 import java.io.FileInputStream;
8 import java.io.DataInputStream;
9 import javax.swing.JOptionPane;
10 import javax.swing.JFileChooser;
23 public static boolean DBG =
true;
33 @SuppressWarnings(
"static-access")
34 public static
void main(String[] args) throws java.rmi.RemoteException{
38 if(args.length<nofargs){
45 if(args[i].length()<1)
53 String server_ip =
"rmi://"+args[++i]+
"/C2C_server";
54 String requestfunc = args[++i];
55 String name = args[++i];
56 String path = args[++i];
57 String user = args[++i];
58 String key = args[++i];
66 if(requestfunc.toLowerCase().contentEquals(
"serverOn".toLowerCase()))
71 if(requestfunc.toLowerCase().contentEquals(
"getFile".toLowerCase()))
74 JFileChooser f =
new JFileChooser(
".");
75 f.setSelectedFile(
new File(name));
76 int r = f.showSaveDialog(null);
78 if (r != f.APPROVE_OPTION)
85 File fs = f.getSelectedFile();
89 r = JOptionPane.showConfirmDialog(null,
"Overwrite file?",
"File already exist",1,JOptionPane.YES_NO_OPTION);
91 if(r!=JOptionPane.YES_OPTION)
98 byte remfc[] = obj.
getFile(user, key, name, path);
105 DataOutputStream locfw =
new DataOutputStream(
new FileOutputStream(fs));
118 if(requestfunc.toLowerCase().contentEquals(
"deleteFile".toLowerCase()))
120 boolean ret = obj.
deleteFile(user, key, name, path);
130 if(requestfunc.toLowerCase().contentEquals(
"sendFile".toLowerCase()))
132 File f =
new File(path+name);
139 long size = f.length();
146 byte content[] =
new byte[(int)size];
150 DataInputStream fr =
new DataInputStream(
new FileInputStream(f));
160 boolean ret = obj.
sendFile(user, key, content, name);
Classe che permette la configurazione di tutto il programma in base alle specifiche esigenze dell'ute...
Classe che implementa metodi vari di utilita' generale.
Client RMI C2C_client che si interfaccia al server RMI C2C_server, per utilizzare le funzioni sui fil...
byte [] getFile(String k, String v, String name, String path)
Interfaccia della funzione che restituisce il file chiesto sottoforma di array di byte...
boolean sendFile(String k, String v, byte[] content, String name)
Interfaccia della funzione che riceve il file inviato.
static void main(String[] args)
Main che a seconda del nome funzione passato come parametro, richiama le funzioni messe a disposizion...
String serverOn()
Interfaccia della funzione di test che non necessita di autorizzazione per verificare se il server e'...
static long r_filemaxsizetosend()
Permette la lettura della varibile relativa in modo sicuro.
boolean deleteFile(String k, String v, String name, String path)
Interfaccia della funzione che cancella il file indicato tramite name e path.
static boolean DBG
Variabile boolean per attivare il degug.
static void logClient(String data)
Scrive i dati in input sul file di log del Client (se questo esiste valido)