Les fonctions de mise en réseau de GameMaker Studio 2 sont basées sur des sockets, ce qui est un standard de l'industrie sur toutes les plates-formes. Avec les sockets, vous avez la possibilité de créer à la fois des clients et des serveurs à l'aide de GML simple qui vous permet de créer même un jeu solo en utilisant le modèle client / serveur (quelque chose qui permettra d'ajouter facilement le multijoueur plus tard).
Fondamentalement, un socket est un objet qui peut envoyer, recevoir, connecter et écouter des ports sur le réseau. Ces fonctions concernent uniquement les connexions TCP / IP, sur lesquelles repose Internet (IPv4 pour être plus précis). En substance, cela vous permet de connecter une socket en utilisant une adresse IP (disons 192.168.1.10) à une autre socket sur une autre adresse IP (disons 192.168.1.11). Une fois connectées, ces deux prises peuvent envoyer des données en utilisant le network_send_* fonctions (comme network_send_packet ) et l'événement asynchrone dédié qui est déclenché par eux. Cet événement asynchrone génère une carte ds_map contenant les données reçues ainsi que d'autres détails, et vous pouvez trouver les détails complets dans la section sur l' événement réseau asynchrone.
Au lieu que les programmes doivent lire et traiter chaque bit de trafic réseau entrant dans une machine, les adresses IP traitent également des ports, numérotés de 0 à 65535. Cela permet à chaque programme d'obtenir uniquement les paquets de données qui l'intéressent, et pas tout ce qui a été envoyé par chaque programme. Cela permet également d'économiser du temps processeur, car il réduit considérablement le traitement des données. Avec GameMaker Studio 2 vous pouvez également "écouter" les ports. Ainsi, un serveur va créer un socket, puis le lier à un port spécifique à écouter. Il sera ensuite averti des connexions, des déconnexions et des transferts de données à partir de cette prise.
Les "paquets" de données eux-mêmes sont constitués de données binaires provenant d'un tampon. Ce tampon peut être créé et manipulé à l'aide des fonctions de GameMaker Studio 2 Buffer.
Les fonctions suivantes existent pour vous d'utiliser pour la mise en réseau:
- network_create_server
- network_create_server_raw
- network_create_socket
- network_create_socket_ext
- network_connect
- network_connect_raw
- network_resolve
- network_set_config
- network_set_timeout
- network_send_broadcast
- network_send_packet
- network_send_raw
- network_send_udp
- network_send_udp_raw
- network_destroy