Zum Inhalt springen

Framework für die Kommunikation zwischen Servern

Pulse

Ein Aufruf an einen anderen Server sieht im Code aus wie ein Funktionsaufruf. Pulse erzeugt den Code dafür beim Kompilieren, der Transport ist austauschbar.

Eckdaten

  • für .NET, gedacht für Echtzeit-Server, verteilte Dienste und Kommunikation innerhalb eines Hosts
  • Transporte: zuverlässiges UDP, Shared Memory und AF_XDP mit Empfang ohne Kopie unter Linux
  • eine gemeinsame Protokoll- und Codeerzeugung für alle Transporte
  • geringe Latenz, ohne Speicherallokationen im laufenden Betrieb

Im Einsatz

Jump Jupiter läuft auf Pulse: Spiel-Client, Hauptserver und Simulationsserver kommunizieren darüber.

Für Ihre Projekte

Was Pulse zeigt, setze ich in Kundenprojekten auch ohne Pulse um: Code, der beim Kompilieren entsteht, austauschbare Transporte und Verbindungen mit Zugriffskontrolle.

Spiel-ClientUnity für Windows, macOS und Linux
HauptserverC# und .NET
Simulations­serverUnity, einer je CPU-Kern
Daten­speicherverteilt, im Arbeitsspeicher und dauerhaft

Eigener Kubernetes-Cluster in Deutschlandmit selbst betriebener Schlüsselverwaltung und Container-Registry

Architektur von Jump Jupiter, einem Echtzeit-Multiplayer-Spiel in Neuentwicklung, von mir entworfen und entwickelt.

  • PulseFramework für die Kommunikation zwischen Servern
  • SurgeFramework für den Datenzugriff
  • Direktverbindung zwischen Client und Simulationsserver, während ein Spieler in einem Raum spielt.

Erzählen Sie mir von Ihrem System

Das Erstgespräch dauert 30 Minuten und ist kostenlos. Ich antworte innerhalb von 24 Stunden.