Título: Control Winsock Publicado por: DarkMatrix en 13 Septiembre 2008, 22:38 pm Buenas Foreros, Estoy por aca con una incógnita que me llevo encima, la cosa es q tengo un proyecto de un juego online y para la conexión de cada cliente uso el control winsock, ahora aquí mis preguntas:
1. En el servidor utilizo un control winsock, por cada cliente q se conecte al servidor este crea un nuevo socket ósea otro winsock que seria WS(0) y si se conecta otro cliente seria WS(1) y así sucesivamente, ahora ¿esta matriz de controles tiene limite? ósea ¿que si se puede llegar al WS(99999) u otro numero? 2. ¿En caso de que tuviera límite cual seria? 3. ¿Hay otra forma de hacer esto? 4. Pongamos este ejemplo: Hay 10 clientes conectados al Servidor, lo que nos da Winsock's del 0 al 9, cuando se utiliza un Socket en el servidor y el cliente por alguna razón se desconecta, pongamos de ejemplo el WS(7) y se conecta otro cliente o el mismo en tal caso, no crea un socket en ese numero si no en uno nuevo ósea en un WS(10) y no en el 7 ¿Hay alguna forma de usar los sockets que ya han sido borrados? (Solo para no tener números tan altos cuando solo hay 30 clientes conectados y el último esta conectado al socket por ejemplo 72, aunque los que no están siendo utilizados son descargados de la memoria) y por ultimo 5. ¿Hay algún limite en la transferencia de información a través del servidor? Pregunto por el siguiente caso: suponiendo que hay 30 clientes conectados y todos hablando al mismo tiempo, ósea enviando datos al Server para que este reenvié la información a los clientes, y en caso de que las charlas contengan mas o menos 200 o 300 caracteres de información el Server no se colapsaría de tanta información? De antemano gracias por las preguntas que se puedan responder y por las ideas que puedan aportar. Título: Re: Control Winsock Publicado por: BlackZeroX en 13 Septiembre 2008, 23:12 pm 1.- el limite seguns e es al rededor de 32500 (jamas e usado tantos apenas y yo llegaba a 1000 xP)
2.- el limite me parece que tambien se limita por tu vel. de internet 3.- mmm si por el DirectX 4.- correjo ya que segun veo deberias tener el 0 en escucha Siempre y apartir del 1 empesarian las conexiones xP es decir del 1 al 10 estar conectados mientras que el 0 siempre a la escucha a como lo veo si se desconectan es que tu ancho de banda ya no da para mas Winsock 5.- si la hay y es volverlo a cargar o reabrirlos con alguna verificacion es decir: si tenemos 10 winsock sin contar el 0 que esta a la escucha () 0 escuchando y de 1 a 10 para conectarse) deberias pasar desde el ws(1) hasta el ws(10) y verificar que su estado no sea 7(conectado sin algun problema) y si es diferente entonces conectar en ese WS 5.- el limite es el anchho de banda ya sea del cliente o del servidor ejemplo: supooniendo que: Servidor Cliente limite 10mb 512kbs es del cliente 512 10mb es del servidor mas facil no lo creo y la ultima si se colapsa por eso deberias usar 1 puerto para la escuecha y otro para enviar informacion asi evitarias esto pero si usas un mismo puerto para ambas cosas esto se colapsara irremediablemente Título: Re: Control Winsock Publicado por: DarkMatrix en 13 Septiembre 2008, 23:22 pm Gracias por las respuestas me han servido de mucho, con respecto a la ultima respuesta, tendria que conectar al los clientes a 2 puertos distintos para que no colapsara, en tal caso tendria que usar 2 winsock en los clientes o me equivovo?
Título: Re: Control Winsock Publicado por: BlackZeroX en 13 Septiembre 2008, 23:53 pm Gracias por las respuestas me han servido de mucho, con respecto a la ultima respuesta, tendria que conectar al los clientes a 2 puertos distintos para que no colapsara, en tal caso tendria que usar 2 winsock en los clientes o me equivovo? sip |