Comunidad de diseño web y desarrollo en internet online

Se puede saturar un servidor de sockets?

Citar            
MensajeEscrito el 28 Abr 2011 08:21 am
Hola!!

Hola! actualmente acabo de terminar mi socket server en php con un tutorial de por aquí, les quiero hacer 2 preguntillas...

1.- Se podria saturar un socket server por causa de que los clientes escriban demasiado en el servidor?

2.- Como lo podría solucionar?

Saludos.

Por JOlmos

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2011 01:11 pm
si a saturar te refieres a que el usuario bloquea la conexion pues si
mira que cuando abres un socket solo es 1 a 1 el server atiende una peticion a una para solventar ese problema se crean procesos hijos un proceso hijo hace la conexion de socket asi que se crearian cuantos hijos lo requiera o le pongas, dependiendo de la demanda de usuarios en windows esto aun no se pudo solventar por los threadings ya que php no tiene soporte pero en linux hay las funciones de pcntl en linux hay muchas cosas con la cual php se potencia desde manjear perifericos USB WIFI y otros en windows es pelear o usar intermediarios del tipo java para mas autonomia la unica ventaja que ofrece windows es la portabilidad ahora no me acuerdo bien pero creo haber visto por algun lado una extension en desarrollo que creaba hilos o threadings en php seria que busques pero mm sera larga la busqueda

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Abr 2011 02:45 pm
tuadmin:
Lamento disentir. Windows es perfectamente capaz de atender cuantas peticiones entrantes haya. Quien se tiene que encargar de administrar los hilos de ejecución que atiende cada petición es el servidor web, Apache o el que sea. No hace falta ningún intermediario para ello.

Ahora bien, lo que pregunta el amigo JOlmos es otra cosa. Lo que pregunta es si un cliente puede acaparar la atención de un socket y la respuesta es sí, ya que si no hay un mecanismo de timeout o parecido un cliente puede estar conectado eternamente al servidor. Pero!, PHP tiene un mecanismo de timeout automático. Un script solo tiene cierto tiempo finito para ejecutarse, pasado el cual, el manezador de PHP lo cancela y lo elimina. Con esto no es posible que el socket sea acaparado por un solo cliente.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 30 Abr 2011 11:06 pm

DriverOp escribió:

tuadmin:
Lamento disentir. Windows es perfectamente capaz de atender cuantas peticiones entrantes haya. Quien se tiene que encargar de administrar los hilos de ejecución que atiende cada petición es el servidor web, Apache o el que sea. No hace falta ningún intermediario para ello.

Ahora bien, lo que pregunta el amigo JOlmos es otra cosa. Lo que pregunta es si un cliente puede acaparar la atención de un socket y la respuesta es sí, ya que si no hay un mecanismo de timeout o parecido un cliente puede estar conectado eternamente al servidor. Pero!, PHP tiene un mecanismo de timeout automático. Un script solo tiene cierto tiempo finito para ejecutarse, pasado el cual, el manezador de PHP lo cancela y lo elimina. Con esto no es posible que el socket sea acaparado por un solo cliente.

si tienes razon pero yo me referia solo codigo php ya que tiene el modo de ejecutarse en modo CLI, y sus extensiones como php-gtk o winbinder estos tienen esa limitante por ahora solo afecta a windows, en linux mejora con soporte de las funciones de POSIX

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.