Netzwerk-Multiplayer in Flash


8

Flash hat in den letzten zehn Jahren einen langen Weg zurückgelegt, und es ist ein gut gehütetes Geheimnis, dass ein Flash-Spiel eine Verbindung zu einem Multi-Client-Server herstellt, um in Echtzeit zu chatten und / oder grundlegende Avatar-Bewegungen auszuführen.

Warum hat die Branche als Ganzes dies noch nicht zu einer allgemein bekannten Sache gemacht? Wir gehen weiter ins Internet, aber ich finde es unglaublich schwierig, Lernmaterial zu diesem Thema zu sammeln.

Sicher, ich kann Multi-Client-Server-Socket-Tutorials in verschiedenen Sprachen finden (mit ausgewählten Anweisungen und / oder Threads, um mehrere Socket-Verbindungen zu handhaben), aber in Bezug auf Flash-Anwendungen in einem Browser? NEE!

Kann jeder bitte teilen, was er weiß? :] Es ist ein Thema, mit dem ich mich sehr gerne beschäftigen würde, aber ich fürchte, ich weiß ehrlich gesagt nicht genug darüber, wie es geht.


Ich habe mich vor vielen Jahren genau mit diesem Thema befasst, bevor Adobe auf dem Bild war, und ich habe Macromedia direkt angerufen, nachdem ich nichts online gefunden hatte. Sie sagten mir, dass nur XML-Kommunikation unterstützt werde und dass Direct Socket I / O einfach nicht möglich und nicht in den Plänen sei. Für ein MMO ist das Lesen / Schreiben bestimmter Datenbytes unter dem Gesichtspunkt der Leistungsoptimierung wichtig, und XML ist für diese Art von Dingen mit einem lächerlichen Aufwand verbunden (es ist verschwenderisch, mehr als 50 Bytes zu verpacken / zu analysieren, um einige Datenbytes zu senden / zu empfangen wiederholt - diese CPU-Leistung sollte zum Gameplay gehen).
Randolf Richardson

Antworten:


2

Der Grund, warum Sie keine Informationen zum Ausführen eines Socket-Servers über Flash im Browser finden können, ist, dass dies nicht möglich ist. Sie können nur über einen Flash-Film, der im Browser ausgeführt wird, eine Verbindung zu einem Socket-Server herstellen.

Um einen Socket-Server mit Flash auszuführen, müssen Sie eine AIR 2.x-Anwendung erstellen, die auf dem Desktop ausgeführt wird. Dieser Artikel im Adobe AIR Developer Center soll Ihnen den Einstieg erleichtern.


Ich meinte genau das, was Sie gesagt haben - von Flash aus eine Verbindung zu einem Socket-Server herstellen, Flash AS nicht als Socket-Server
ausführen

Sie haben "Multi-Client-Server-Socket-Tutorials ... Umgang mit mehreren Socket-Verbindungen" erwähnt. Ich habe gelesen, dass ich einen Socket-Server in Flash Player ausführen möchte. Wie auch immer, der Artikel, den ich verlinkt habe, erklärt auch, wie man eine Verbindung zu einem Socket-Server in Flash herstellt.
NoobsArePeople2

0

Ich kann mir vorstellen, dass der Grund, warum Sie nicht viel über die Verbindung von Flash mit einem Multi-Client-Server hören, möglicherweise darin besteht, dass Sie nur die Flash-Seite der Dinge und nicht das serverseitige Element untersuchen.

Es handelt sich weniger um ein Front-End- / Client-Problem als vielmehr um eine serverseitige Verwaltung von Status, Verbindungen (dh Spielern), Datenaktualisierungen (-base) und was nicht.

Ich habe eine schöne Abstraktion gesehen, die mit SmartFoxPro verwendet wird . Sie bieten den Plug-and-Play-Chat-Client, den Room-Client und die In-Game-API, in die Sie sich als Flash- / Actionscript-Entwickler einbinden können.

Ehrlich gesagt sollten Sie die Entwicklung von Multiplayer-Spielen aus der serverseitigen Perspektive betrachten (Java - Redwarf , Ruby , Python ( Kolben als Framework), sogar PHP mit einem Framework wie Codeigniter für eine leichte Anwendung).

Schauen Sie sich die Forschung aus diesem Blickwinkel an und hoffentlich hilft das!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.