|
||
|
![]() |
![]() |
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 |
![]() |
|
Herramientas |
#1
|
||||
|
||||
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+ ![]() |
|
#2
|
||||
|
||||
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. |
#3
|
||||
|
||||
Que encierre todo a partir de donde? Hasta el socket.accept
__________________
BetaTester
Actualmente, SlimpLP+ ![]() |
#4
|
||||
|
||||
Código:
main(...){ [...] ServerSocket socket = new ServerSocket(...) while(true){ Socket sock = socket.accept(); date = new Date(); [... el resto igual...] } }
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
#5
|
||||
|
||||
Código:
main(...){ [...] ServerSocket socket = new ServerSocket(...) while(true){ Socket sock = socket.accept(); date = new Date(); [... el resto igual...] } } ![]() Gracias ^^^^^^ No me funciona lo de actualizar la fecha dentro del while. Pense que seria date.update o algo asi ![]() ![]()
__________________
BetaTester
Actualmente, SlimpLP+ ![]() |
#6
|
||||
|
||||
Solucionado : metí el date = new date(); de nuevo en el bucle.
Muchas gracias moce ^^
__________________
BetaTester
Actualmente, SlimpLP+ ![]() |
![]() |
![]() |
||||||
|