• Domingo 17 de Noviembre de 2024, 20:29

Autor Tema:  Servidor Se Detiene!  (Leído 1197 veces)

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Servidor Se Detiene!
« en: Jueves 29 de Marzo de 2007, 20:30 »
0
hola Colegas foristas!, estoy haciendo mis primeras armas en cuestiones Web!, Cree un socket en PHP y el "Servidor" lo pongo a trabajar pero despues de un corto tiempo el servidor se detiene, como hago para que no se detenga?, hay una instruccion que se supone evita que se detenga, pero igual ocurre. Estoy trabajando desgraciadamente con Windows por aquello con el IIS, ah! aca les dejo el codigo talves le sirva de algo a alguien mas!.
Código: Text
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6. <title>Mi servidor</title>
  7. </head>
  8. <body>
  9. <center><h1>Mi servidor</h1></center>
  10. <?php
  11. //muetra todos los errores que se presenten durante la ejecucion
  12. error_reporting(E_ALL);
  13. //Desabilia el tiempo de espera del scrip para permitir esperar conecciones.
  14. set_time_limit(0);
  15. //direccion de la maquina
  16. $direccion = 'localhost';
  17. //puerto de salida
  18. $puerto = 10000;
  19. //Crea el socket, recibe (dominio, tipo y protocolo) establecido por constates definidas por php
  20. if (($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0)
  21. {
  22.    echo "socket_create() Falló: Motivo: " . socket_strerror($puerto) . "<br>";
  23. }
  24. //Asocia la direccion y puerto de la maquina con el socket creado
  25. if (($retorno = socket_bind($socket, $direccion, $puerto)) < 0)
  26. {
  27.    echo "socket_bind() Falló: Motivo: " . socket_strerror($retorno) . "<br>";
  28. }
  29. //Pone el socket a escuchar solicitudes de coneccion
  30. if (($retorno = socket_listen($socket, 5)) < 0)
  31. {
  32.    echo "socket_listen() Falló: Motivo: " . socket_strerror($retorno) . "<br>";
  33. }
  34. //el socket acepta la primer solicitud del cliente
  35. do
  36. {
  37.   if (($sock_acepted = socket_accept($socket)) < 0)
  38.   {
  39.      echo "socket_accept() Falló: Motivo: " . socket_strerror($sock_acepted) . "<br>";
  40.   }
  41.   //una vez aceptada la conexión se lee el primer paquete que escriba el cliente
  42.   $lectura = socket_read($sock_acepted, 2048);
  43.   //imprime lo que el cliente dice
  44.   echo "<b>Cliente dice: </b>" . $lectura . "<br>";
  45.   //Escribe al cliente una respuesta a lo que este dijo!
  46.   $escritura = 'Hola cliente!!!' . ' Me mandaste a decir: '. $lectura;
  47.   socket_write($sock_acepted, $escritura, 2048);
  48.   //cierra el socket
  49.  
  50.   if ($lectura=="salir")
  51.   {
  52.     break;
  53.   }
  54. }while(true);
  55.  
  56. socket_close($socket);
  57. ?>
  58. </body>
  59. </html>
  60.  
  61.  
  62.  

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Servidor Se Detiene!
« Respuesta #1 en: Lunes 16 de Abril de 2007, 09:06 »
0
Algunos servidores tiene una variable timeout que es el tiempo maximo de espera, tal vez sea eso ...
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.