Peer-to-Peer-Netzwerkbibliothek für Tausende von Spielern gleichzeitig.
NetworkClient/NetworkServer
-> NetworkProtocol
-> NetworkSocket
-> NetworkThread
-> NetworkChannel
-> NetworkPacket
->NetworkMessage
NetworkChannel definiert die Arten von Nachrichten, die erstellt werden können. Von NetworkMessage abgeleitete Klassen führen die Serialisierung in den Paketpuffer durch. Sie erstellen eine Nachricht, konfigurieren die Nachrichtenvariablen und senden dann eine ReliableMessage, Nachricht oder Antwort. ReliableMessage erwartet eine Nachricht vom Typ Antwort von ihrem Zielendpunkt. Nachricht und Antwort sind unzuverlässige Nachrichten.
In Zukunft werden NetworkPeer und NetworkPeerGroup das Stapeln von Nachrichten in einem einzigen Paket ermöglichen, wenn dies möglich ist.
Der NetworkMessage-Header kodiert 5 Bytes für ChannelType (bis zu 16 Kanäle, 4 Bits), SendType (Nachricht/Antwort 1 Bit), Reliable (Ja/Nein 1 Bit), Redirect (1 Bit + 2 Bytes für Benutzer-ID) und Message Owner ID (2 Bytes), Nachrichtensequenz (2 Bytes).
Das aktuelle Ereignissystem ermöglicht die Einbindung in die NetworkChannelEvents OnMessage und OnResponse, wenn eine NetworkMessage empfangen wird. Zur weiteren Anpassung gibt es auch die Low-Level-NetworkSocket-Ereignisse OnSend und OnReceive.
Senden, Empfangen und Empfangsverarbeitung sind die drei Unterthreads über dem Hauptthread.
Erstellen Sie ein P2P-System, das zuverlässige und unzuverlässige Nachrichten senden und Benutzer über eine positionsbasierte Topologie verbinden kann. Das Endziel besteht darin, mehr als 1.000 Echtzeitspieler auf einem einzigen Server zu unterstützen.