Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Juegos En Flash

Iniciado por zupervaca, 30 de Mayo de 2005, 01:55:41 PM

« anterior - próximo »

AGONY

Cita de: "vincent"No soy para nada especialista en flash, pero creo que para multiplayer tienes basicamente tres opciones:
 - Hacerlo con llamadas a php (cutre pero sencillo)
 - Currarte un server con sockets. No me acuerdo del nombre de las funciones ( si te interesa mucho te lo busco ). Un ejemplo comercial de esto lo tienes aqui. Electroserver
 - Utilizar el Macromedia Communication Server. No te servirá para hacer juegos masivos, pero para tener una videoconferencia si.

Espero haverte servido de ayuda.

Taluek!
Hola vincent justamente estoy intentando hacer un juego multiplayer con flash, y me he descargado el electroserver 3 pero como que al final no me he enterado lo prefiero hacer yo. Lo que ocurre es que me han surgido unas preguntas mientras lo estoy haciendo por ejemplo :

1.- Tengo echo una clase en java que se pone a la escucha por un puerto esperando peticiones de los usuarios.
(Pero no se como se ejecuta este programa dentro del servidor y donde lo tengo que colocar dentro del servidor es un apache).

Es decir tengo echo un chat en java pero con applets pero yo lo quiero usando flash pero no se me ocurre como.
Si puedes ayudarme te lo agradezco.

josepzin

 AGONY, puede que este enlace te sirva: http://www.cristalab.com/foros/viewtopic.php?t=8132
Yo no lo he probado todavía.

CitarClabServer, Flash multiusuario sin servidores

Presentamos el ClabServer, una serie de librerías en ActionScript y PHP que, usando Flash Remoting, les permitirán crear aplicaciones multiusuario en Flash sin necesidad de servidores de XML Sockets o Flash Comm Server.

El único requerimiento es un servidor que tenga soporte de PHP y MySQL, con lo que cualquier shared hosting te sirve para hacerlo funcionar.

Con el ClabServer es posible programar desde chats hasta juegos multiplayer o cualquier tipo de desarrollo que implique la interacción en línea de muchos usuarios.
Tiene un API muy sencillo de aprender e incluye archivos de ejemplo de varios chats simples y avanzados.

No necesitas grandes conocimientos en Flash para poder crear tu propio chat con el ClabServer, si sabes manejar LoadVars, aprender a usar el ClabServer será muy fácil.

Para manejarlo puedes leer los siguientes tutoriales

    * Instalación del ClabServer
    * Como crear un chat en Flash
    * Referencia del programador de ClabServer


El ClabServer es liberado bajo licencia GNU/LGPL, con lo que es posible usarlo en cualquier aplicación comercial que hagan.
Si realizan algún cambio o mejora al código base del ClabServer (Las clases de PHP o las clases de Actionscript) por favor, repórtalo de nuevo a la comunidad Sonrisa

AGONY

 Gracias, ya sabia de la existencia de hacerlo de estas formas pero lo que ocurre que chupa muchos recursos ya que tiene que refrescar en intervalos de muy poco tiempo.

Ahora creo haber encontrado otra forma de realizar lo que quiero, he usado los sockets de php para abrir en mi servidor un puerto, lo que hago es mantener ese socket a la escucha para aceptar las conexiones desde flash es bastante simple, pero todavia no he conseguido que flash se conecte pero estoy en ello. Si lo consigo ya os mandare el codigo creo que esta es la segunda mejor forma de hacerlo la primera hubiera sido con java.

AGONY

 Este es el servidor.

<?php
  set_time_limit(0);
  ob_implicit_flush();
  $dest = "127.0.0.1";
  $port = 15480;
  if(!$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)){
    print "<br>No se ha creado el socket.";
  }
  else{
 print "<br>Se ha podido crear el socket en la direccion : ip $dest puerto $port";
  }
  if(!$bind = @socket_bind($socket, $dest, $port)){
    print "<br>No se ha montado " . socket_last_error() . " el error es " . socket_strerror(socket_last_error());
  }
  else{
 print "<br>Se ha montado.";
  }
  if($escucha = @socket_listen($socket)){
    if($accept = @socket_accept($socket)){
      printf("<br>Se han conectado.<br>");
  $buffer = "Bienvenido";
  $cant = socket_write($accept, $buffer) or die("<br>No se ha escrito nada.");
  $salida = socket_read($accept,2048);
  echo "<br>$salida<br>";
 }
}
printf("<br>Se cierra la conexion.<br>");
socket_close($socket);
?>

Este es el cliente.

<?php
$puerto = 15480;
$host = "127.0.0.1";

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$conexion = socket_connect($socket, $host, $puerto);


print "leyendo...";
$salida = socket_read($socket, 2048);
echo "<br>$salida<br>";
$buffer = "Respuesta...";
$cant = socket_write($socket, $buffer) or die("<br>No se ha escrito nada.");


echo "<br>Se cierra la conexión.<br>";
socket_close($socket);
?>

Es una prueba por eso cierro los sockets al final pero una vez aceptada la conexion por parte del servidor en tehoria ya se pueden comunicar, esto podria servir como base de un chat aunque ahora mismo lo estoy haciendo con flash. Cuando lo tenga se suponer que se podra hacer juegos multiplayer y chats con flash facilmente.

vincent

 Buenas,

A ver si esto te sirve de ayuda...

http://www.phparch.com/discuss/index.php/f/164/0/

http://www.devarticles.com/c/a/Flash/XML-S...ckets-in-Flash/

Ahora estoy en el curro. En casa creo que tengo algo más de información para hacer que los XML Sockets no sólo lean ficheros XML sinó lo que quieras.

Taluek!

Desarrollo en .Net y metodologías http://devnettips.blogspot.com

AGONY

 Hola vincent estan wapos los enlaces que me has enviado.

Pero tengo un problema de perl se mas o menos como funciona ya que es facil de seguir, pero hice un simple hola mundo y no tenia ni pti de como hacerlo funcionar. Al principio pense que solo con ponerlo dentro de cgi-bin ya valia pero despues de hacer pruebas no me fue, conclusion que tenia que compilarlo o hacer algo con el pero
no se el que. :blink:  






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.