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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [25] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ... 103
241  Foros Generales / Noticias / Re: Un científico defiende la posibilidad de enviar mensajes en el tiempo en: 26 Mayo 2014, 21:51 pm
Es fácil de averiguar. Sal a la calle y regalale todos tus bienes a alguien desconocido. Si se pueden enviar mensajes en el tiempo, te enviarán uno puteandote o diciendote que no lo hagas xD

Salud
242  Programación / Programación Visual Basic / Re: Necesito ayuda por favor en: 26 Mayo 2014, 21:46 pm
Necesitas ayuda? Pues te la daré. Mis consejos son:
1º que edites el título y pongas algo que describa mejor tu problema.
2º que nos muestres lo que llevas hecho para que podamos aconsejarte mejor.

Salud;)
243  Programación / Java / Re: Crear una cola de conexiones de socket. en: 26 Mayo 2014, 21:41 pm
Ok. El fallo estaba únicamente en que cuando acababa una conexion cerraba el serverSocket y luego creaba uno nuevo. He puesto el constructor del serverSocket en el constructor de Servidor y le he quitado el .close().

Si alguien necesita el código completo que me lo pida. De todos modos a partir del día 8 (que es cuando entrego la práctica) lo subiré a mi blog ;)
244  Programación / Java / Re: Crear una cola de conexiones de socket. en: 26 Mayo 2014, 19:19 pm
Mmm, perdón por la tardanza en la respuesta, pero quería responder con 'sustancia'.

Lo de los hilos no es lo que busco. Te explico:

El constructor de serverSocket que estoy usando es al que se le pasa un int que es el puerto, pero existe otro constructor tal que así:
Código:
new ServerSocket(int port, int backlog);

backlog indica el número de conexiones en espera que puede tener a la vez. Con el que yo estoy usando se usa como predeterminado el número 20 (o 50, ahora mismo no lo recuerdo bien).

Esto significa que la cola de conexiones está creada y, sin embargo, cuando cierro una conexion se me cierran todas las de la cola (todas van al mismo puerto y al cerrar el socket se cierran todas).

Total, si comento el close del serverSocket, cuando cierro la conexion desde el cliente me empiezan a dar una exageración de Throws en el receiveMessage().

Qué pensais que estoy haciendo mal? :s

Salud
245  Programación / Java / Re: Problema login usuarios en: 26 Mayo 2014, 18:57 pm
Has probado con un try catch o un do while?
246  Programación / Java / [RESUELTO]Crear una cola de conexiones de Socket en un ServerSocket. en: 24 Mayo 2014, 15:25 pm
Buenas, no estaba seguro de que preguntas de programación fueran en Redes, por lo que lo puse aquí.

Tengo un servidor que recibe conexiones de socket. Solo puede procesar una a la vez, pero quiero que si un segundo cliente intenta conectarse espere hasta que pueda. Había pensado hacerlo con una cola, pero no se "qué meter" dentro de la cola.

Aquí el code de mi Servidor:
Código
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.io.PrintWriter;
  5. import java.net.ServerSocket;
  6. import java.net.Socket;
  7.  
  8.  
  9. public class Servidor extends Thread{
  10.  
  11. private int port;
  12. private ServerSocket server;
  13. private Socket sck;
  14.  
  15. public Servidor() {
  16. port = 5000;
  17.  
  18. }
  19. public Servidor(int i) {
  20. port = i;
  21.  
  22. }
  23.  
  24. public boolean Connect() {
  25. try {
  26.  
  27. server = new ServerSocket(port);
  28. System.out.println("Servidor esperando conexión.");
  29. sck = server.accept();
  30.  
  31. return true;
  32. } catch (IOException e) {
  33. // TODO Auto-generated catch block
  34. e.printStackTrace();
  35. System.out.println("Error con la conexión");
  36. return false;
  37. }
  38.  
  39. }
  40.  
  41. public boolean Disconnect() {
  42. try {
  43.  
  44. sck.close();
  45. server.close();
  46.  
  47. return true;
  48. } catch (IOException e) {
  49. // TODO Auto-generated catch block
  50. e.printStackTrace();
  51. System.out.println("Error al desconectar");
  52. return false;
  53. }
  54.  
  55. }
  56.  
  57. public boolean receiveMensaje() {
  58. try {
  59. PrintWriter printer = new PrintWriter(sck.getOutputStream(), true);
  60. BufferedReader reader = new BufferedReader(new InputStreamReader(sck.getInputStream()));
  61.  
  62. System.out.println("Esperando Mensaje...");
  63.  
  64. sck.setSoTimeout(40*1000);
  65. String mensaje = reader.readLine();
  66. while(sck.isConnected() && !mensaje.equals("FIN")) {
  67.  
  68. System.out.println("Recibido: "+mensaje);
  69. if(!mensaje.equals("FIN")) {
  70.  
  71. printer.println(mensaje.toUpperCase());
  72. mensaje = reader.readLine();
  73.  
  74. }
  75. }
  76.  
  77.  
  78. // System.out.println("Server apagandose");
  79. this.Disconnect();
  80.  
  81. return true;
  82. } catch (IOException e) {
  83. System.out.println("Error: Compruebe su conexion o que no ha estado más de 40 segundos inactivo.");
  84. Disconnect();
  85. return false;
  86. }
  87. }
  88.  
  89. public void run() {
  90. while(true) {
  91. Connect();
  92. receiveMensaje();
  93. }
  94. }
  95.  
  96.  
  97. public static void main(String[] args) {
  98. // TODO Auto-generated method stub
  99. Servidor sv = new Servidor();
  100. // Servidor sv = new Servidor(Integer.parseInt(args[0]));
  101. sv.run(); // Porque no necesita ser concurrente.
  102. }

Como veis, la conexion no es más que un 'Socket sck = ServerSocket.accept()"

Entonces cómo podría hacerlo?

Salud ;)
247  Programación / Java / Re: Cómo puedo hacer que un main abra dos consolas distintas? en: 24 Mayo 2014, 15:05 pm
En este caso no es aún un chat, sino más bien un servidor de eco (el cliente se conecta, le envía algo al servidor y éste le responde).

Yo puedo cojer y ejecutar el Servidor, luego el Cliente (con ip 127.0.0.1 y el mismo puerto) y que funcione (y estarán en diferentes consolas). Mi pregunta es si puedo hacer que aparezcan en diferentes consolas ejecutando un solo programa).

(Una consola será el Servidor y la otra el Cliente).

Salud
248  Programación / Java / Cómo puedo hacer que un main abra dos consolas distintas? en: 24 Mayo 2014, 12:45 pm
Buenas, he estado buscando (aunque tampoco se como llamarlo exactamente) la posibilidad de que un main abra dos consolas distintas.

Os explico, practicando con UDP he medio programado un chat. Esta es la interfaz primaria:
Código
  1. public class Chat {
  2. private Cliente  cl;
  3. private Servidor sv;
  4.  
  5. public Chat() {
  6. cl = new Cliente();
  7. sv = new Servidor();
  8. }
  9.  
  10. public Chat(String ipServ, int puertSend, int puertRec) {
  11. cl = new Cliente(ipServ, puertSend);
  12. sv = new Servidor(puertRec);
  13. }
  14.  
  15. public void Arrancar() {
  16. sv.Connect();
  17. cl.Connect();
  18. }
  19.  
  20. public static void main(String[] args) {
  21. // TODO Auto-generated method stub
  22. Chat chat = new Chat();
  23. chat.Arrancar();
  24. }
  25.  
  26. }
  27.  
  28.  

Pues bueno, en la consola me aparece el servidor conectando, pero no puede conectar. He pensado hacerlo concurrente, pero mi duda es si hay alguna forma de ejecutar cada trozo en una consola diferente (se que puedo llamarlos por separado, pero quiero saber si se puede).

Saludos ;)

EDITO: Aquí tengo el code en una concurrencia básica:
Código
  1. public class Chat {
  2. private Cliente  cl;
  3. private Servidor sv;
  4.  
  5. public Chat() {
  6. cl = new Cliente();
  7. sv = new Servidor();
  8. //////////////////////////////////////////////
  9. Arrancar();
  10. /////////////////////////////////////////////
  11. }
  12.  
  13. public Chat(String ipServ, int puertSend, int puertRec) {
  14. cl = new Cliente(ipServ, puertSend);
  15. sv = new Servidor(puertRec);
  16. }
  17.  
  18. ////////////////////////////////////////////////////// Procedimiento Arrancar() cambiado entero
  19. public void Arrancar() {
  20. sv.start();
  21. cl.start();
  22.  
  23. try {
  24. sv.join();
  25. cl.join();
  26. } catch (InterruptedException e) {
  27. // TODO Auto-generated catch block
  28. e.printStackTrace();
  29. }
  30. }
  31.  
  32. public static void main(String[] args) {
  33. // TODO Auto-generated method stub
  34. new Chat();
  35. }
  36.  
  37. }
  38.  
  39.  
249  Programación / Programación General / Re: Aplicación Android en: 24 Mayo 2014, 12:38 pm
Post repetido. http://foro.elhacker.net/dudas_generales/aplicacion_android-t415238.0.html;topicseen

Leete las normas.
250  Foros Generales / Noticias / Re: 6 razones para no comprar un Nexus en: 24 Mayo 2014, 12:37 pm
100% de acuerdo contigo t0uRett3. Además, eso de "3.- Más difíciles de vender" es mentira. Actualmente te encuentras con ventas de nexus 4 de 8Gb que valen más caros de segunda mano que cuando se vendían nuevos. La gente los quiere.

Además, el Nexus 5 se lo ha comprado mi amigo en una tienda Yoigo, por lo que lo de que no puedes comprarlo en una tienda.. xD

Yo estoy contentísimo con mi Nexus 4 y cada vez le voy cogiendo más asco a los Samsung... (por lo que veo en la gente que me rodea, decenas de fallos con S3 y S4)

Salud
Páginas: 1 ... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [25] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ... 103
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines