Bibliothèque de mise en réseau Peer-to-Peer pour des milliers de joueurs simultanément.
NetworkClient/NetworkServer
-> NetworkProtocol
-> NetworkSocket
-> NetworkThread
-> NetworkChannel
-> NetworkPacket
->NetworkMessage
NetworkChannel définit les types de messages pouvant être créés. Les classes dérivées de NetworkMessage effectuent la sérialisation dans le tampon de paquets. Vous créez un message, configurez les variables du message, puis envoyez un ReliableMessage, un message ou une réponse. ReliableMessage attendra un message de type Réponse de la part de son point de terminaison cible. Le message et la réponse ne sont pas des messages fiables.
À l'avenir, NetworkPeer et NetworkPeerGroup permettront, lorsque cela est possible, d'empiler les messages dans un seul paquet.
L'en-tête NetworkMessage code 5 octets pour ChannelType (jusqu'à 16 canaux, 4 bits), SendType (Message/Réponse 1 bit), Reliable (oui/non 1 bit), Redirect (1 bit + 2 octets pour l'ID utilisateur), ID du propriétaire du message. (2 octets), séquence de messages (2 octets).
Le système d'événements actuel permet de se connecter aux NetworkChannelEvents OnMessage et OnResponse lorsqu'un NetworkMessage est reçu. Il existe également des événements NetworkSocket de bas niveau OnSend et OnReceive, pour une personnalisation plus poussée.
Le traitement d'envoi, de réception et de réception sont les 3 sous-threads au-dessus du thread principal.
Créez un système P2P capable d'envoyer des messages fiables et peu fiables et de connecter les utilisateurs via une topologie basée sur la position. L'objectif final est de prendre en charge plus de 1 000 joueurs en temps réel sur un seul serveur.