Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 29/04/15, 08:08:26
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
ServerSocket se cierra al acabar.

Tengo un servidor que recibe una imagen y la guarda en el escritorio por socket. Lo que pasa que al recibir 1 imagen, se me cierra el programa entero. ¿Como puedo hacer que siga funcionando?

(Click para mostrar/ocultar)



Abajo, al recibir la imagen , el socket se cierra, pero no quiero (T-T) (T-T)
__________________
BetaTester
Actualmente, SlimpLP+
Responder Con Cita


  #2  
Viejo 29/04/15, 10:36:34
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Se te cierra porque el programa acaba, si quieres que espere la recepción de otra imagen tienes que volver a hacer socket.accept(), que bloqueará la ejecución hasta que haya otra petición.

Con poner un while(true){ } que encierre todo a partir de, e incluyendo, Socket sock=socket.accept() te vale.

P.D: La fecha también tendrás que actualizarla dentro del bucle, o si no siempre escribirá el mismo fichero. Que, por cierto, si te mandan dos imágenes en el mismo segundo, se sobreescribirán porque el fichero tiene el mismo nombre.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!

Última edición por mocelet Día 29/04/15 a las 10:38:59.
Responder Con Cita
  #3  
Viejo 29/04/15, 12:11:00
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
Que encierre todo a partir de donde? Hasta el socket.accept
__________________
BetaTester
Actualmente, SlimpLP+
Responder Con Cita
  #4  
Viejo 29/04/15, 14:37:21
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Código:
main(...){
   [...]
   ServerSocket socket = new ServerSocket(...)
   while(true){
      Socket sock = socket.accept();
      date = new Date();
      [... el resto igual...]
   }
}
En otras palabras, el código de aceptar una conexión entrante y procesar la subida del fichero se repetirá infinitamente hasta que cierres el programa o salte una excepción.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #5  
Viejo 29/04/15, 16:51:05
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
 Cita: Originalmente Escrito por mocelet Ver Mensaje
Código:
main(...){
   [...]
   ServerSocket socket = new ServerSocket(...)
   while(true){
      Socket sock = socket.accept();
      date = new Date();
      [... el resto igual...]
   }
}
En otras palabras, el código de aceptar una conexión entrante y procesar la subida del fichero se repetirá infinitamente hasta que cierres el programa o salte una excepción.

Gracias ^^^^^^

No me funciona lo de actualizar la fecha dentro del while.
Pense que seria date.update o algo asi
__________________
BetaTester
Actualmente, SlimpLP+
Responder Con Cita
  #6  
Viejo 30/04/15, 00:48:23
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
Solucionado : metí el date = new date(); de nuevo en el bucle.

Muchas gracias moce ^^
__________________
BetaTester
Actualmente, SlimpLP+
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 18:26:31 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /