Foros del Web » Creando para Internet » Flash y Actionscript »

conectar dos usuarios juego multiplayer

Estas en el tema de conectar dos usuarios juego multiplayer en el foro de Flash y Actionscript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/02/2005, 07:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta 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
  #2 (permalink)  
Antiguo 28/02/2005, 09:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
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,
  #3 (permalink)  
Antiguo 28/02/2005, 10:18
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
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
  #4 (permalink)  
Antiguo 28/02/2005, 10:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
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,
  #5 (permalink)  
Antiguo 28/02/2005, 10:27
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
Gracias. Me ire con el cuento a otra parte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:50.