Multijugador en red en Flash

8

Flash ha recorrido un largo camino en la última década, y es un secreto bien guardado conseguir que un juego Flash se conecte a un servidor multicliente para chat y / o movimiento básico de avatar en tiempo real.

¿Por qué la industria en su conjunto todavía no ha hecho de esto un tipo de conocimiento común? Seguimos presionando a la web, pero me resulta increíblemente difícil reunir material de aprendizaje sobre este tema.

Claro, puedo encontrar tutoriales de socket de servidor multicliente en varios idiomas (usando sentencias selectivas y / o subprocesos para manejar conexiones de socket múltiples), pero en lo que respecta a las aplicaciones Flash dentro de un navegador. NO!

¿Pueden todos compartir lo que saben? :] Es un tema que me encantaría abordar, pero me temo que honestamente no sé lo suficiente sobre cómo hacerlo.

protocolo de sombra
fuente
Estuve investigando esto hace muchos años antes de que Adobe apareciera en la imagen, y llamé a Macromedia directamente después de no encontrar nada en línea. Me dijeron que solo se admitían las comunicaciones XML y que la E / S de socket directo simplemente no era posible y no estaba en los planes. Para un MMO, leer / escribir bytes de datos específicos es importante desde el punto de vista de la optimización del rendimiento, y XML conlleva cantidades ridículas de sobrecarga para este tipo de cosas (es un desperdicio empaquetar / analizar más de 50 bytes para enviar / recibir algunos bytes de datos repetidamente: esa potencia de la CPU debería ir al juego).
Randolf Richardson

Respuestas:

2

La razón por la que no puede encontrar ninguna información sobre cómo ejecutar un servidor de socket desde Flash dentro del navegador es porque no es posible. Solo puede conectarse a un servidor de socket desde una película Flash que se ejecuta en el navegador.

Para ejecutar un servidor de socket con Flash, debe crear una aplicación AIR 2.x que se ejecute en el escritorio. Este artículo sobre el Centro de desarrolladores de Adobe AIR debería ayudarlo a comenzar.

NoobsArePeople2
fuente
Quise decir exactamente lo que dijiste: conectarte a un servidor de socket desde flash, no ejecutar Flash AS como un servidor de socket (nunca dije eso para empezar ...)
shadowprotocol
Usted mencionó "tutoriales de socket de servidor multicliente ... manejando [ing] conexiones de socket múltiples". Lo leí como queriendo ejecutar un servidor de socket dentro de Flash Player. De todos modos, el artículo que vinculé también explica cómo conectarse a un servidor de socket en Flash.
NoobsArePeople2
0

Me imagino que la razón por la que no está escuchando mucho acerca de la conexión de Flash a un servidor multicliente es posiblemente porque está investigando solo el lado de Flash de las cosas y no el elemento del lado del servidor.

Es menos un problema de front-end / lado del cliente, y más de un lado del servidor de gestión de estado, conexiones (es decir, reproductores), actualizaciones de datos (-base), y lo que no.

He visto una bonita abstracción utilizada con SmartFoxPro . Ofrecen el cliente de chat plug-and-play, el cliente de sala, la API del juego que puedes conectar como desarrollador flash / actionscript.

Honestamente, deberías echar un vistazo al desarrollo de juegos multijugador desde la perspectiva del lado del servidor (java - redwarf , ruby , python ( piston as a framework), incluso php usando un framework como codeigniter para una aplicación ligera).

¡Eche un vistazo a la investigación desde ese ángulo y espero que eso ayude!

Dominic Tancredi
fuente