Páginas: [1]
|
 |
|
Autor
|
Tema: Enviar archivo (Leído 308 veces)
|
Saok Dagon
Desconectado
Mensajes: 117
SaOk
|
Tengo la sigiente duda, estoy trantando de hacer un sistema que mande un archivo atraves de java por internet a otra pc. Entonces tengo la sigiente duda que no se como tomarla, mi idea era que, el cliente, mandara una "contraseña" de conexion al servidor para que este permita la conexion y aceptar el archivo, pero que si esa contraseña es correcta o no mandada, rechaze la conexion ( algo asi como un firewall monopuerto ). Es por el tema de la seguridad y eso. Ciente import java.net.Socket; import java.io.InputStreamReader; public class Cliente { private String ip = "IP"; private int puerto = 16000; private String nomArchivo = "archivo_nombre"; public Cliente(){ Socket socket = null; java.io.FileInputStream in = null; java.io.FileOutputStream pt = null; try { socket = new Socket(ip,puerto); pt = (java.io.FileOutputStream)socket.getOutputStream() ;// in = new java.io.FileInputStream(new java.io.File(nomArchivo)); } catch(Exception e) { System.out.println("No se pudo crear la conexión\n"+e); } try { socket.sendUrgentData(100); byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0 ){ pt.write(buf, 0, len); } pt.close(); in.close(); socket.close(); } catch(Exception e) { System.out.println("Error al enviar mensaje\n"+e); } } public static void main(String a[]) { new Cliente(); } }
Servidor import java.net.ServerSocket; import java.net.Socket; public class Servidor implements Runnable { ServerSocket server; public Servidor() { try {
server=new ServerSocket(16000); System.out.println("Servidor corriendo..."); } catch(Exception e) { System.out.println("Error al correr el servidor\n"+e); System.exit(1); } }
public void run() { Socket client=null; while (true) { if (server==null) return; try { client=server.accept(); System.out.println("Llegó un cliente!"); } catch(java.io.IOException e) { System.err.println("No se pudo establecer conexión " + e.getMessage()); } try { java.io.InputStream in = client.getInputStream(); //CREAMOS LA INSTANCIA PARA ESCRIBIR EL ARCHIVO EN DISCO java.io.FileOutputStream out = new java.io.FileOutputStream(new java.io.File("C:\\llego.msi")); byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); out.close(); } catch(java.io.IOException e) { System.out.println("Error: " + e); } } }
public static void main(String a[]) { Servidor servidor = new Servidor(); // Ponemos a correr nuestro hilo servidor new Thread(servidor).start(); } }
|
|
|
|
|
En línea
|
|
|
|
HOFF
Desconectado
Mensajes: 311
El esfuerzo hace la diferencia...
|
pero cual es tu duda....?
|
|
|
|
|
En línea
|
 [/url]
|
|
|
Saok Dagon
Desconectado
Mensajes: 117
SaOk
|
Entonces tengo la sigiente duda que no se como tomarla, mi idea era que, el cliente, mandara una "contraseña" de conexion al servidor para que este permita la conexion y aceptar el archivo, pero que si esa contraseña es correcta o no mandada, rechaze la conexion ( algo asi como un firewall monopuerto ) El codigo que deje, es el codigo del cliente - servidor saludos
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|