Enviar archivo

Iniciado por Saok Dagon, 22 Abril 2008, 16:08 PM

0 Miembros y 1 Visitante están viendo este tema.

Saok Dagon


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
Citar
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

Citarimport 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();
}
}
www.colgados.net date una pasadita!

Todo el anime, manga, pelis, series...etc

Sk9ITk5Z

pero cual es tu duda....?
Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.

Saok Dagon



CitarEntonces 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
www.colgados.net date una pasadita!

Todo el anime, manga, pelis, series...etc