Cita de: -Localhost- en 24 Julio 2010, 19:50 PMAsi cierro post.
Ok muchas gracias Debci, concuerdo con D4N93R completamente; tus resuestas son excelentes.
Ya modifiqué el título para que se pueda ver que está solucionado.
Un saludo.
Un saludo.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: -Localhost- en 24 Julio 2010, 19:50 PMAsi cierro post.
Ok muchas gracias Debci, concuerdo con D4N93R completamente; tus resuestas son excelentes.
Ya modifiqué el título para que se pueda ver que está solucionado.
Un saludo.
Cita de: 23time en 24 Julio 2010, 18:32 PMEs mas rapido y eficaz hacerlo directamente con Thread, ademas, si pones un bucle while o for dentro del thread de ejecucion de Swing (No olvides que es un thread) lo que haces es saturar la interfaz y provocar cosas como esta.
Buenas Debci.
Si llegué a utilizar threads, aunque, como no los había usado antes leí que cometí un mal uso, por lo que no se si el error estaba ahí.
En el desarrollo del trabajó necesité 2 threads, el primero que creé lo hice extendiendo de Thread y sobrecargando el método run..., esa parte me funciona a las mil maravillas pero leí que es una mala práctica, ya que luego necesité crear otro y me decidí a hacerlo de otra forma preguntándole a Google.
El segundo que creé lo que hice fue implementar Runnable y llamar al thread:
new Thread(new servidor()).start();
Ahí es donde comencé a tener problemas, puede que se petara por tener el primer thread con el run() machacado, es algo que desconozco porque nunca he trabajao con threads antes y por eso acudí al foro.
Una vez que separé el servidor de mi aplicación y observé que aun así se me quedaba bloqueado, terminé echándole las culpas a swing, ya que ejecuto dos .jar distintos, mi aplicación y el segundo, el server, el cual es llamado desde mi aplicación.
Así que no se...
¿Es mejor hacerlo implementando Runnable en vez de extender de la clase Thread?, lo cambiaré y contaré como fue la cosa.
Un saludo!!.
Cita de: D4N93R en 24 Julio 2010, 16:19 PMMe gusta siempre comprender como funciona el codigo que programo jeje :9
Excelente Respuesta Debci!
Cita de: 23time en 24 Julio 2010, 04:17 AMLa solucion a tu problema tiene un nombre:
Buenas chavales.
Perdón por no haber contestado antes al post, pero empecé las vacaciones al poco de publicar el post y hasta ahora no he parado xD
La verdad es que no conseguí detener la ejecución del código, aunque utilicé el break tras cerrar los buffers y, como eso no funcionaba, le cambié la condición de ejecución cambiando el boolean al transmitir el archivo.
Por eso acudí aquí a ver si alguien me podía ayudar. Sinceramente, creo que es un problema del propio JAVA, ya que he estado usando swing y creo que es ahí donde falla.
De todas formas, como es un servidor se supone que debe estar "al loro" siempre, por lo que decidí separarlo de mi aplicación (ya que me la bloqueaba). En teoría se detendría al mandar el mensaje propicio desde el cliente, el cual cambia la condición del while con un break.
Como se suele decir, si mahoma no va a la montaña, la montaña va a mahoma xD, la cuestión era encontrar una solución al problema.
Gracias a todos aquellos que han intentado ayudarme
Saludos!!.
Cita de: -Localhost- en 24 Julio 2010, 01:17 AMEl puerto no es vulnerable, es vulnerable la aplicacion que corre en ese puerto... si hay alguien que sea capaz de desbordar un servidor en Java e injectar codigo... pero el codigo maquina no es el mismo que el de la JVM asi que estas bastante seguro, ademas puedes establecer un protocolo de seguridad para tu servidor, y que nadie desborde el buffer, y si no sobrescriben el registro EIP del procesador, dificilmente ejecutan un PAYLOAD.
Ok, muchas gracias, supuse que lo del mapeo se haría desde el router, pero mi duda era si no había una manera de hacerlo desde código.
Ahora me surje otra duda, para que funsionase tube que "abrir" o "mapear" el puerto. Bien, entonces soy vulnerable a ataques por ese puerto? me convendría "desmapearlo" cuando no lo esté usando? qué más debería saber al respecto en cuanto a la seguridad de mi red?
Muchas gracias de antemano.
PD: El chat ya funciona así que si quieres puedes cerrar el tema respondiendo aclarándome esta última duda ^^.
Cita de: -Localhost- en 23 Julio 2010, 22:14 PMMira, para usar sockets has tenido que definir un puerto (en el segundo parametro del socket creo...) pues este, abres la configuracion de tu router, poniendo la puerta de enlace predeterminada en tu navegador, acediendo con los datos de fabrica, y en Nat, Virtual Server, mapeas el puerto, si tienes idea minima de redes, veras que es intuitivo, si no googlea
Ok, muchas gracias por sus respuestas.
¿Me podrían decir como mapeo los puertos que usa el server?
Muchas gracias, y muy bueno el foro jeje.