elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Cliente-servidor
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Cliente-servidor  (Leído 12,742 veces)
-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: Cliente-servidor
« Respuesta #10 en: 6 Enero 2010, 19:15 pm »

Me parece que alguien debe leerse un buen tutorial de Sockets, en el paquete .net está todo lo que necesitas, toma el InputStream del socket, empieza a leer los datos que te envia el server y ya lo tienes.


En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Cliente-servidor
« Respuesta #11 en: 6 Enero 2010, 19:19 pm »

Me parece que alguien debe leerse un buen tutorial de Sockets, en el paquete .net está todo lo que necesitas, toma el InputStream del socket, empieza a leer los datos que te envia el server y ya lo tienes.
:P pero si el lo esta haciendo asi ps que lo siga haciendo no es mucha la diferencia


En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: Cliente-servidor
« Respuesta #12 en: 6 Enero 2010, 19:21 pm »

Me parece que alguien debe leerse un buen tutorial de Sockets, en el paquete .net está todo lo que necesitas, toma el InputStream del socket, empieza a leer los datos que te envia el server y ya lo tienes.
:P pero si el lo esta haciendo asi ps que lo siga haciendo no es mucha la diferencia
Ahh, lo está haciendo todo con esa api? pensé que usaba la .net por el primer comentario y ahora iba a usar esta y terminaría un revuelto de código, pero, si está con una sóla api, que siga. xD
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
alzehimer_cerebral


Desconectado Desconectado

Mensajes: 513



Ver Perfil WWW
Re: Cliente-servidor
« Respuesta #13 en: 6 Enero 2010, 19:25 pm »

Simplemente estoy buscando formas de hacerlo y la verdad que la segunda me parece mas comoda de momento.  Con lo que he visto parece ser que con net API habria que tambien programar un proceso que corra en el servidor Apache y que se sincronizase con el proceso cliente, mientras que con los metodos http esto no hace falta. 

LEYER ya me he bajado la libreria donde la descomprimo para poder utilizarla?

Salu2

alzehimer_cerebral
En línea

Servicios Informaticos Valencia - www.ag-solutions.es
Mi blog - www.alvarogarciasolano.com
-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: Cliente-servidor
« Respuesta #14 en: 6 Enero 2010, 19:30 pm »

Debe tener uno o más .jar o class, tienes dos opciones, metes la ruta donde lo tienes en el classpath o compilas directamente indicandole el classpath.

Código:
javac -classpath "$CLASSPATH:.:/usr/lib/jdk1.6.0_10/jre/lib/ext/libreria.jar" Prueba.java
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Cliente-servidor
« Respuesta #15 en: 6 Enero 2010, 19:32 pm »

 ;) bien!

esta es la segunda forma

Código
  1. import java.io.File;
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.net.MalformedURLException;
  6. import java.net.URL;
  7. import java.net.URLConnection;
  8.  
  9. /**
  10.  * @author Leyer
  11.  */
  12. public class ThreadForDownload extends Thread{
  13. public static void main(String []args){
  14. try {
  15. new ThreadForDownload(new URL("http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/Java/Java2.pdf"),"/home/leyer").start();
  16. } catch (MalformedURLException e) {
  17. // TODO Auto-generated catch block
  18. e.printStackTrace();
  19. }
  20. }
  21. private URL           url          =   null;
  22. private URLConnection connection   =   null;
  23. private int offset = 0;
  24. private boolean init   = true;
  25. String path;
  26. private FileOutputStream fileOutputStream;
  27. public ThreadForDownload(
  28. final URL URL,
  29. String path) {
  30. this.url = URL;this.path = path;
  31. }
  32.  
  33. @Override
  34. public synchronized void run() {
  35. while(init){
  36. try {
  37. System.out.println("-----------------------------------");
  38. System.out.println("Host: "+url.getHost());
  39. System.out.println("NOmbre del Archivo: "+getFileName(url));
  40. System.out.println("Tamaño: "+getLength(url));
  41. System.out.println("-----------------------------------");
  42. connection = url.openConnection();
  43. } catch (IOException e) {System.err.println("Error in conection!");System.exit(0);
  44. } catch (Exception e) {
  45. e.printStackTrace();System.exit(0);
  46. }
  47. int read = 0;
  48. final int SIZE = getLength(url);
  49. InputStream stream  =  null;
  50. try {
  51. System.out.println("wait...");
  52.    stream = connection.getInputStream();
  53. fileOutputStream = new FileOutputStream(path+""+File.separator+getFileName(url));
  54. final byte[] data = new byte[SIZE];
  55. while((read = stream.read(data)) > 0){
  56. offset +=read;
  57. fileOutputStream.write(data,
  58. 0,
  59. read);
  60.   }
  61. try{
  62. System.out.println("Completado!");
  63. fileOutputStream.flush();
  64. fileOutputStream.close();
  65. offset = 0;  init = false;
  66. break;
  67.    }catch (Exception e) { }
  68. }catch (Exception e1) {
  69.  }
  70.   }
  71. }
  72.  
  73. public void setInit(boolean init) {
  74. this.init =false;
  75. }
  76. final int getLength(URL urlFile){
  77. URLConnection connection = null;
  78. int size = 0;
  79. try {
  80. connection = urlFile.openConnection();
  81. size = connection.getContentLength();
  82. } catch (IOException e) {
  83. System.err.println(e+":ERROR");System.exit(0);
  84. } catch (Exception e) {
  85. System.err.println(e+":ERROR");System.exit(0);
  86. }
  87. return size;
  88. }
  89. private final String getFileName(URL URL){
  90.     String path=URL.getPath();
  91.     int lastIndexOf=path.lastIndexOf("/");
  92.     String name = path.substring(lastIndexOf+1);
  93. return name;
  94.  
  95. }
  96. }

PD: lo hice al instante asi que errores en el codigo se aceptan
« Última modificación: 6 Enero 2010, 19:35 pm por LEYER » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Cliente-servidor
« Respuesta #16 en: 7 Enero 2010, 13:16 pm »

Ese codigo lo buscaba xD, mira un cosa que quiero hacer (Servira de ayuda para el post):

Quiero hacer una relacion del progreso, ver cuantos bytes quedan por descargar, y he querido hacerlo asi:

Código
  1. int contador = getLength(url);
  2. while((read = stream.read(data)) > 0){
  3.                                contador--;
  4.                                System.out.println(contador);
  5. offset +=read;
  6.                                contador--;
  7.  
  8. fileOutputStream.write(data,0,read);
  9.   }
  10.  
Pero no me da la salida que deberia, no se porque motivo,en teoria es asi disminuyo en 1 cada loop que pasa, o cuanto escribe por loop, creo que es eso el problema.

Saludos
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Cliente-servidor
« Respuesta #17 en: 7 Enero 2010, 13:28 pm »

Rectifico, ya lo he consegui, aqui el metodo:

Código
  1. int porcentaje = 0;
  2.                        System.out.println(porcentaje);
  3. while((read = stream.read(data)) > 0){
  4.  
  5.  
  6. offset += read;
  7.                                porcentaje = (offset * 100)/SIZE;
  8.                                System.out.println(porcentaje);
  9.  
  10. fileOutputStream.write(data,0,read);
  11.   }
  12.  

Saludos
En línea

alzehimer_cerebral


Desconectado Desconectado

Mensajes: 513



Ver Perfil WWW
Re: Cliente-servidor
« Respuesta #18 en: 7 Enero 2010, 13:31 pm »

LEYER gracias por tu aporte uan vez mas, el ejemplo que me pones me gusta mas ya que lleva threads incorporados.  El codigo esta muy claro tambien.

Cualquier cosa os comento.

Salu2.

alzehimer_cerebral
En línea

Servicios Informaticos Valencia - www.ag-solutions.es
Mi blog - www.alvarogarciasolano.com
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Cliente-servidor
« Respuesta #19 en: 7 Enero 2010, 15:01 pm »

Rectifico, ya lo he consegui, aqui el metodo:

Código
  1. int porcentaje = 0;
  2.                        System.out.println(porcentaje);
  3. while((read = stream.read(data)) > 0){
  4.  
  5.  
  6. offset += read;
  7.                                porcentaje = (offset * 100)/SIZE;
  8.                                System.out.println(porcentaje);
  9.  
  10. fileOutputStream.write(data,0,read);
  11.   }
  12.  

cierto esta listo para un progressBar aunke fuera bueno que en la salida se imprimiera en una sola linea y no salte a la siguiente desconozco eso.

LEYER gracias por tu aporte uan vez mas, el ejemplo que me pones me gusta mas ya que lleva threads incorporados.  El codigo esta muy claro tambien.
Cualquier cosa os comento.
Salu2.
alzehimer_cerebral
:)
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa Cliente Servidor
Programación Visual Basic
my_sistemas 6 3,378 Último mensaje 27 Septiembre 2012, 16:44 pm
por Yoghurt
Cliente - Servidor
Ingeniería Inversa
karnank440 0 1,559 Último mensaje 18 Enero 2013, 07:05 am
por karnank440
CLIENTE / SERVIDOR EN C ++
Programación C/C++
rodri56 1 1,628 Último mensaje 27 Mayo 2014, 20:34 pm
por Eternal Idol
CLIENTE Y SERVIDOR
Programación Visual Basic
igustin10 2 3,391 Último mensaje 20 Noviembre 2016, 04:42 am
por igustin10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines