Multiplattform Netzwerkengine gesucht

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Vertex

Betreff: Multiplattform Netzwerkengine gesucht

BeitragSa, Jul 16, 2016 9:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich hätte nicht gedacht, dass es so schwierig wird, eine highlevel Netzwerkengine zu finden, die plattformunabhängig ist.

Konkret geht es darum, Unity mit C# oder JavaScript (für Visualisierung), Android (Tablet zur Steuerung) und PC mit C++(Bildverarbeitung) im LAN zu verbinden. Ich möchte über die Netzwerkengine Events á la Game Started/Stopped übermitteln. Auch Objekte möchte ich verschicken, d. h. es müsste auch eine Objektserialisierung/deserialisierung geben.

Bislang habe ich das lowlevel mit Sockets gemacht. Leider ist das fehleranfällig, alleine wenn es um Multithreading geht.

RakNet
Unity bringt selber eine Netzwerkengine auf Basis von RakNet mit. Auf den ersten Blick erfüllt sie die gewünschten Features. RakNet konnte ich gestern auch für Android kompilieren. Allerdings werden offiziell keine Java-Bindings mitgeliefert. raknet4j konnte ich noch nicht testen, aber scheint nicht gerade sehr aktiv entwickelt zu werden. Mittels Swig wird für C# ein RakNet-Wrapper erstellt (RakNet ist in C++ geschrieben). Anscheinend kann Swig unter vielen anderen Plattformen auch einen Wrapper für Java/Android geneieren. Auch das müsste ich mal ausprobieren.

Sonstige Überlegungen
Was haltet ihr davon, bspw. auf Basis vom IRC-Chat-Protokoll zu arbeiten? Für IRC gibt es nahezu für jede Sprache Bibliotheken. Jede Komponente bekommt eine eindeutige ID (=Nickname im IRC) und man müsste sich Steuerzeichen ausmachen. Objekte könnten per JSON in Textform serialisiert und beim Empfang wieder deserialisiert werden. Echtzeitübertragung geht damit natürlich nicht, aber IRC sollte doch den Empfang und die Reihenfolge einer Nachricht garantieren können.

Habt ihr bereits Erfahrungen mit Netzwerkengine gemacht? Könnt ihr was zu RakNet sagen?
vertex.dreamfall.at | GitHub
 

TheKilledDeath

BeitragSa, Jul 16, 2016 9:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Da würde ich lieber Websockets nehmen als IRC. IRC ist schon relativ speziell, Websockets sind da offener. Und da gibts wirklich überall implementierungen von.

Vertex

BeitragSa, Jul 16, 2016 11:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, das ist echt cool. Dachte auch erst an REST aber mit dem alten Problem, dass der Server nicht aktiv selber Nachrichten verschicken kann, sondern nur auf Anfrage des Clients. WebSockets kannte ich bislang gar nicht. Wenn das mit RakNet nichts wird, dann ist eine super Alternative.
vertex.dreamfall.at | GitHub

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group