|
||
|
|
|
|||||||
| Avisos |
| 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+
|
![]() |
Estás aquí
|
||||||
|
||||||