Programación Web y Scripting > PHP
Servidor Se Detiene!
(1/1)
maikmr:
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 --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Mi servidor</title></head><body><center><h1>Mi servidor</h1></center><?php//muetra todos los errores que se presenten durante la ejecucionerror_reporting(E_ALL);//Desabilia el tiempo de espera del scrip para permitir esperar conecciones.set_time_limit(0);//direccion de la maquina$direccion = 'localhost';//puerto de salida$puerto = 10000;//Crea el socket, recibe (dominio, tipo y protocolo) establecido por constates definidas por phpif (($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) { echo "socket_create() Falló: Motivo: " . socket_strerror($puerto) . "<br>";}//Asocia la direccion y puerto de la maquina con el socket creadoif (($retorno = socket_bind($socket, $direccion, $puerto)) < 0) { echo "socket_bind() Falló: Motivo: " . socket_strerror($retorno) . "<br>";}//Pone el socket a escuchar solicitudes de coneccionif (($retorno = socket_listen($socket, 5)) < 0) { echo "socket_listen() Falló: Motivo: " . socket_strerror($retorno) . "<br>";}//el socket acepta la primer solicitud del clientedo{ if (($sock_acepted = socket_accept($socket)) < 0) { echo "socket_accept() Falló: Motivo: " . socket_strerror($sock_acepted) . "<br>"; } //una vez aceptada la conexión se lee el primer paquete que escriba el cliente $lectura = socket_read($sock_acepted, 2048); //imprime lo que el cliente dice echo "<b>Cliente dice: </b>" . $lectura . "<br>"; //Escribe al cliente una respuesta a lo que este dijo! $escritura = 'Hola cliente!!!' . ' Me mandaste a decir: '. $lectura; socket_write($sock_acepted, $escritura, 2048); //cierra el socket if ($lectura=="salir") { break; }}while(true); socket_close($socket);?></body></html>
LeGatoRojo:
Algunos servidores tiene una variable timeout que es el tiempo maximo de espera, tal vez sea eso ...
Navegación
Ir a la versión completa