| |||
conectar dos usuarios juego multiplayer Hola. Estoy intentando desarrollar un juego MULTIPLAYER con flash y php, el problema es que mi proveedor no me permite instalar ningun software externo (como un socket server o algo asi) y no tengo suficiente ancho de banda para hacerlo contra BBDD. Mi idea es usar el objeto xmlSocket de flash. Me han dicho que puedo hacerlo conectando a los usuarios entre sí a traves del puerto 80. ¿Alguien sabe como se hace eso? imagino que primero hay que capturar las ips de los usuarios y luego conectarlos mediante alguna función. Ahi está el problema, que no sé con qué función podría hacerlo, ¿quizá alguna función socket del php?. Os agradecería vuestra ayuda. Gracias |
| |||
Si lo vas hacer con xmlSocket de Flash .. ahí estáras haciendo una conexión "directa" entre ambos clientes .. PHP no intervendrá para nda en este proceso. De todas formas .. PHP tiene sus funciones de control de sockets .. (www.php.net/sockets) pero son para las comunicaciones cliente-servidor .. todo eso es lo que hacen los "socket server" (implementados en PHP) .. Un saludo, |
| |||
A ver si he entendido bien Gracias de antemano ya se que este foro es de php y esta duda es mas de flash, pero a ver si lo entiendo. Yo recojo (con php por ejemplo) la ip de un jugador y la del otro. En el flash creo la conexion de cada uno de ellos (con la ip recogida) de la siguiente manera: miConexion=new XMLSocket(); miConexion.connect("laipdeunjugador",80) y para el otro jugador hago lo mismo con la ip del contrario. En teoria ahora ya estan los dos jugadores conectados entre si.(¿o no?) A continuacion si uno de ellos tiene el turno de tirada (es un juego mulyiplayer donde se enfrentan por parejas y va por turnos), pues eso, que el que tiene el turno de tirar, al hacer click envia los datos formateados en xml: on(release){ miConexion.send("<jugada>"+jugada+"</jugada>"); } y mientras el otro jugador está escuchando: miConexion.onXML=recogida; donde recogida es la siguiente funcion: function recogida(miXML){ datos=miXML.firstChild; if(datos.nodeName=="jugada"){ lajugada=lajugada+" "+datos.firstChild.nodeValue } } y así recibiria los datos. Recapitulando, ¿tu crees que esto puede funcionar sin tener ningun servidor socket de por medio? ¿Y donde estaria el archivo xml que se va leyendo por los jugadores? Muchas gracias de nuevo |
| |||
Pues no sé como funciona eso bajo Flash .. así que lo mejor es que te intenten resolver esa duda en el foro de flash. Lo único que te comenté es que vía Flash .. requiera o no un "servidor" extra .. PHP no intervendrá en ese proceso ... Tal vez por otra vía si hay un "XML" que quede en el servidor podría accederlo para leerlo (vía PHP) .. pero nada más directamente. Un saludo, |