BTW {Alternativa correcta (socket daemon)}
Germán Póo-Caamaño
gpoo en calcifer.org
Vie Ene 23 16:53:51 CLST 2009
On Fri, 2009-01-23 at 16:46 -0300, Hector Salinas wrote:
> Alvaro Herrera escribió:
> > Hector Salinas escribió:
> >> Alvaro Herrera escribió:
> >> ok, estube testieando este script y sigo con el drama del
> >> incremento de memory, creo debe ser al bug de las funciones socket*
> >
> > Otra idea: declara las variables como "static" dentro de la funcion.
> >
> >>> #!/usr/bin/php -q
> >>> <?php
> >>>
> >>> function do_client_stuff( ... )
> >>> {
> >
> > static $client, $input, $ip;
> >
> >>> $client = socket_accept($sock);
> >>> socket_getpeername($client, $ip);
> >>> $input = socket_read($client, 10);
> >>> echo "\n*******************************";
> >>> echo "\nNew client connected: {$ip}";
> >>> socket_write($client, "A");
> >>> socket_close($client);
> >>> }
> >
> >
> > BTW a estas alturas, yo ya tengo más que claro que el problema es lo
> > penca que es PHP, y posiblemente tu programa funcionaría sin problemas
> > en un lenguaje bien implementado.
> >
> lamentablemte sigue pasando y concuerdo con tigo Alvaro
> se me cayo del altar php :-(
>
> ¿ la ca&%$··$% en hacerlo en php-cli ?
> (me respondo a mi mismo cuando inicie esta discucion)
Otra alternativa es usar sonic o que le eches una mirada a como está
construido. Aunque antes podrías probarle y descartar de plano si
adolece de los mismos problemas ;-)
Intuyo que PHP limpia todo cuando termina el script, y en este caso,
dado que el script nunca termina, nunca limpia la memoria.
>
--
Germán Póo-Caamaño
http://www.calcifer.org/
Más información sobre la lista de distribución Linux