Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Flex y Network

Iniciado por Buffon, 18 de Octubre de 2011, 06:04:44 PM

« anterior - próximo »

Buffon

Buenas tardes,

Tengo una duda respecto a Flex y a sus interconexiones.

Actualmente existen varias tecnologías para realizar comunicaciones por red con flex, las propias dadas por la propia librería como librerías auxiliares, léase:

- BlazeDS
- LyfeCycle
- GraniteDS
- ActiveMQ

y un largo etcétera.

--

Dada esta larga lista de posibilidades se llega a la conclusión de que, al menos, hay dos formas de realizar la comunicación con flex para la petición de datos, con modo push o con modo pop.

1- Hacer cada X tiempo una petición al server para recuperar datos nuevos
2- Esperar que el server nos envíe una petición de actualizar datos

A primera vista la opción número 2 parece la más óptima, para que hacer 10.000 peticiones sin respuesta y no esperar a recibirla del servidor? la respuesta es lógica, porque tendriamos que tener un canal abierto por cliente todo el rato, cosa que para pocos clientes parece lógico pero para una gran cantidad de clientes que pueda tener un juego ya no es una opción tan viable.

Otro de los motivos que nos hace realizar esta pregunta o estudio es que se cobra por consumo de datos, si consumes 1TB al día pagas 600€ al mes.

---

Qué metodología utilizáis o veis más óptima para cierto tipo de desarrollo y por qué?



Pongamos otro ejemplo para que quede más clara mi postura.

Tenemos una aplicación de chat (tipo wazzup)
---

En esta aplicación no sólo recibimos los mensajes sino que tenemos el estado de la otra persona, en la que pone escribiendo, online, etc.

* El chat debe pedir cada 'X' tiempo el estado?


En realidad las aplicaciones de chat reciben información desde el servidor, mi ejemplo es ilógico, pero es un ejemplo.

En un juego de tablero hecho en php debemos pedir constantemente el estado actual para actualizarlo aunque para ello el sistema reciba muchísimas peticiones, cuánto tráfico supone esto versus un sistema en el que haya una conexión continua en la cuál tanto el cliente puede pedir datos al servidor, como el servidor enviarle datos actualizados al cliente.

Pongamos que en un juego de ajedrez tenemos 3 minutos por movimiento, haciendo una petición cada segundo de si el objetivo ha realizado el movimiento podemos encontrarnos con 180 peticiones por jugada, a un total de 40 jugadas del objetivo, son 7200 peticiones máximas por cada partida de 40 movimientos que tengamos. Si en la sala son 10.000 personas, a una media de 300 partidas simultáneas ... ya me entendeis.

El coste de pasar de 7200 peticiones al servidor de datos por partida a menos de 100 qué coste tiene?

Cómo lo hacéis los expertos en juegos realizados en flex para juegos online?

merci :)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.