Duda con sockets

04/08/2005 - 13:00 por Javier | Informe spam
Hola:
Tengo una duda con respecto a sockets. Estoy empezando a hacer un pequeño
programa con esquema cliente-servidor. Muy posiblemente el envio de
información sera bidireccional, aunque especialmente en el sentido servidor
hacia cliente.
He visto un ejemplo de Microsoft sobre manejo de sockets muy orientado a la
asincronia, con eventos y delegados, y un objeto ManualResetEvent para
controlar la sincronizacion. Me esta resultando un poco complejo, puesto que
a la hora de depurar las cosas digamos que "pasan sin un orden fijo".
entiendo q es como consecuencia de utilizar hilos y todo eso, pero me
gustaria saber hasta q punto seria una mala eleccion de diseño utilizar
sockets sincronos, el esquema tipico de tener un hilo q haga el Accept, e ir
creando un hilo para cada nuevo socket q se forme. No se si esto plantea
algun problema del lado del servidor, si es menos escalable o consume mas
recursos o ese tipo de cosas, en principio lo veo mas "controlable" q el otro
ejemplo.
Espero q me podais hacer alguna sugerencias, todas son bienvenidas.
Un saludo.
 

Leer las respuestas

#1 Sandro D. Garcia
15/09/2005 - 19:27 | Informe spam
El gran problema que vas a tener con lo que planteas vos, es que si tenes
muchas conecciones, tenes un socket por conexion constantemente, ya

que para que la conexion sea sincronica, vas a tener que tener la conexion
"viva" entre server y cliente.

Es decir que vas a tener una aplicación poco escalable y la cantidad de
clientes, va a depender de la capacidad de proceso de tu servidor, sin

contar el trafico innecesario que vas a tener constantemente en la red y la
reduccion de ancho de banda.



"Javier" escribió en el mensaje
news:
Hola:
Tengo una duda con respecto a sockets. Estoy empezando a hacer un pequeño
programa con esquema cliente-servidor. Muy posiblemente el envio de
información sera bidireccional, aunque especialmente en el sentido


servidor
hacia cliente.
He visto un ejemplo de Microsoft sobre manejo de sockets muy orientado a


la
asincronia, con eventos y delegados, y un objeto ManualResetEvent para
controlar la sincronizacion. Me esta resultando un poco complejo, puesto


que
a la hora de depurar las cosas digamos que "pasan sin un orden fijo".
entiendo q es como consecuencia de utilizar hilos y todo eso, pero me
gustaria saber hasta q punto seria una mala eleccion de diseño utilizar
sockets sincronos, el esquema tipico de tener un hilo q haga el Accept, e


ir
creando un hilo para cada nuevo socket q se forme. No se si esto plantea
algun problema del lado del servidor, si es menos escalable o consume mas
recursos o ese tipo de cosas, en principio lo veo mas "controlable" q el


otro
ejemplo.
Espero q me podais hacer alguna sugerencias, todas son bienvenidas.
Un saludo.

Preguntas similares