Ultimos temas
Cargando...
miércoles, 4 de mayo de 2016

En este primer tutorial vamos a crear una conexión muy básica entre un servidor y un cliente, empezaremos primero creando los botones que nos llevara a las salas o room que contendrán los objetos servidor y cliente ubicados en salas diferentes.
comencé  creando los dos primeros botones de diseño minimalista.



en mi caso hice el origen centrado, usted puede hacerlo a su gusto.


Estos sprites botones lo dejaremos para usarlos más tarde, ahora crearemos el objeto servidor el cual le llamaremos obj_servidor, por el momento solo va a tener un solo evento el cual será el evento créate y dentro de ese evento solo tendrá dos líneas, la primera línea es declarar una variable de nombre socket que se le asignara una función llamada network_create_socket(arg); esta función es para crear el tipo de socket con el cual va a funcionar la conexión entre servidor y cliente, esa función puede soportar tres tipos de constantes que son:
  1. -         network_socket_tcp
  2. -         network_socket_udp
  3. -         network_socket_bluetooth (actualmente no soportado)
   En esta ocasión  usaremos el protocolo  TCP ósea network_socket_tcp.
 En la segunda línea colocaremos otra función que será network_create_server(socket,5000,3);

  los parámetros que usa son 3: el tipo de socket que dije que el que usaríamos es el TCP, el número de puerto que en este caso será el 5000 (hay algo que son los puertos privados, reservados  y registrados), y el 3er parámetro es la cantidad máxima de jugadores que serán 3.

el resultado final del obj_servidor sera esto:
Ahora crearemos un objeto llamado obj_cliente este también tendrá dos líneas la primera línea será a  la misma que la del obj_servidor una declaración de una variable llamada socket que contendrá la función network_create_socket(network_socket_tcp); el tipo de sockect tiene que ser el mismo que tiene el servidor para que estos objetos puedan tener una conexión. En la segunda línea colocaremos la función que establecera la conexión con el servidor que será: network_connect(socket,”127.0.0.1”,5000); este función pide tres parámetros o argumentos que son:

-         El primer parámetro colocamos sockect que es la variable que declaramos.
-         El segundo parámetro colocamos la ip “127.0.0.1” (en este caso pusimos esa para testear la conexión, esa ip se usa para hacer una llamada dentro de una misma pc).
-         Tercer parámetro establecimos el puerto en el cual va a funcionar que es el puerto 5000 el puerto tiene que ser el mismo que tiene el servidor.


El objeto cliente quedara asi:



Ahora se va a crear un los objetos botones que nos llevaran a los obj_servidor y obj_cliente  
Este es un botón sencillo, ya que las imágenes de los botones está en una misa tira de sprites las líneas del evento créate serán: image_index=0; e image_speed=0;


En el evento de mouse left pressed solo llevara al room donde este el objeto cliente:


Con el botón servidor se hace lo mismo solo que el image_index se le asigna 1 quedando de esta manera:

Ahora queda organizar los objetos hechos haciendo las rooms empezaremos con una room a la cual le llamaremos rm_menu hay colocaremos los botones que nos llevaran al servidor o al cliente:

Seguido de esto crearemos la otra room que se va a llamar rm_servidor:


Y por último otra room  que la llamaremos rm_cliente:
Ambas rooms tienen colores diferentes para indentificarlas.


Ahora se va a testear si hay conexión, para probar esto se debe crear un ejecutable simple:

Ejecutamos el exe creado el cual vamos a iniciar el cliente en él, y desde el game maker studio ejecutamos el proyecto donde en este se va iniciar el servidor, e acomodan las dos ventanas para tener perspectiva de ellas quedara así:

Iniciamos primero el servidor:

luego el cliente y prestando atención a la ventana de Compile veremos como el servidor recibe la conexión del cliente:

Teniendo así la primera conexión y si se desconecta la ventana de Compile registra la desconexión:

Con esto se termina este tutorial, dejare el enlace de descarga del editable para que vean los códigos.
Descargar





Entrada más reciente
Anterior
Este es el último mensaje.

0 comentarios:

Publicar un comentario