You are on page 1of 1

SERVIDOR

CLIENTE
import java.io.*;
import java.net.*; import java.io.*;
import java.net.*;
public class cServidor {
import java.util.Scanner;
static final int PUERTO=5000;
public cServidor(){ import javax.print.DocFlavor.STRING;
try{
ServerSocket skServidor=new ServerSocket(PUERTO); public class cCliente {
System.out.println("Escucho el Puerto "+PUERTO);
static final String HOST="localhost";
for(int numCli=0;numCli<3;numCli++){
static final int PUERTO=5000;
Socket skCliente=skServidor.accept();//Crea Objeto public cCliente(){
System.out.println("Sirvo al Cliente "+numCli); try{
Socket skCliente=new Socket(HOST,PUERTO);
//envia servicios ofrecidos
//RECIBE
OutputStream aux=skCliente.getOutputStream();
DataOutputStream flujo = new DataOutputStream(aux);
InputStream aux1=skCliente.getInputStream();
flujo.writeUTF(MENU()); DataInputStream flujo1 = new DataInputStream(aux1);
System.out.println(flujo1.readUTF());
//esto recibe
InputStream aux1=skCliente.getInputStream();
Scanner dato=new Scanner(System.in);
DataInputStream flujo1 = new DataInputStream(aux1);
int op=flujo1.readInt(); System.out.print("Ingrese Opcion : ");
String origen="";
String destino=""; int opcion=dato.nextInt();
String cadena=""; //solicita datos segun opcion
if(op==1){
String origen="";
System.out.println("Enviando Lista al cliente");
//enviar String destino="";
cadena=listar(cadena); if (opcion==1)
} {
else if(op==2){ //ENVIA
OutputStream aux=skCliente.getOutputStream();
origen=flujo1.readUTF();
destino=flujo1.readUTF(); DataOutputStream flujo = new DataOutputStream(aux);
cadena= cCopiar(origen, destino); flujo.writeInt(opcion);

System.out.println("Copiando ..."); System.out.println("Los elementos de la carpeta son: \n " +flujo1.readUTF());


System.out.println("Copia t1 erminada ");} }
// esto manda
else if(opcion==2)
flujo.writeUTF(cadena);
skCliente.close(); {
} System.out.print("Ingrese archivo que desea copiar: ");
System.out.println("Demasiados Clientes por Hoy"); origen= dato.next();
}
System.out.print("Ingrese destino: ");
catch(Exception e){
System.out.println(e.getMessage());
destino= dato.next();
} //ENVIA
} OutputStream aux=skCliente.getOutputStream();
public String cCopiar(String archorigen, String archDestino){ DataOutputStream flujo = new DataOutputStream(aux);
System.out.println("Desde:"+archorigen);
flujo.writeInt(opcion);
System.out.println("Hacia:"+archDestino);
try {
flujo.writeUTF("C:\\prueba\\"+origen);
File archEntrada=new File(archorigen); flujo.writeUTF(destino);
File archSalida=new File(archDestino); System.out.println("..."+flujo1.readUTF());
}
FileInputStream entrada=new FileInputStream(archEntrada);
//RECIBE
FileOutputStream salida=new FileOutputStream(archSalida);
int c;
while((c=entrada.read())!=-1)
salida.write(c); skCliente.close();
entrada.close(); }
salida.close(); catch(Exception e){
System.out.println(e.getMessage());
return "copia realizada";
} catch (IOException e) { }
System.out.println("Hubo error al copiar");
return "Hubo error al copiar";
}
}
}
public String listar(String cadena)
{
}
File dir=new File("C:\\prueba");
String []archivos=dir.list();
if(archivos==null)
{
cadena="No existen Archivos";
}
else
{
for(int i=0;i<archivos.length;i++)
cadena= cadena + archivos[i]+"\n";
}
return cadena;
}
public String MENU()
{
String menu="Listar y Copiar Archivos\n"
+"=======================\n"
+"1.- Listar Archivos\n"
+"2.- Copiar Archivos\n";
return menu;
}
}

You might also like