Gibt es eine Alternative zu HTML Web Sockets, nachdem Firefox 4 sie deaktiviert hat?


11

Ich habe einige der neuesten Multiplayer-Engines in HTML getestet, die alle Multi-User-Spiele unterstützen (sehr schön). Ich glaube, alle diese Engines verwenden Web Sockets für die Kommunikation.

Aus diesem Grund haben wir beschlossen, die Unterstützung für WebSocket in Firefox 4 zu deaktivieren, beginnend mit Beta 8 aufgrund eines Sicherheitsproblems auf Protokollebene. Beta 7 von Firefox unterstützt die -76-Version des Protokolls, dieselbe Version, die auch in Chrome und Safari enthalten ist. Beta 8 von Firefox 4 entfernt diese Unterstützung. Anne van Kesteren von Opera gab außerdem bekannt, dass Opera die Websocket-Unterstützung einstellt. Wir sind zuversichtlich, dass weitere Browser-Entwickler folgen werden.

Quelle: Websockets in FireFox 4 deaktiviert

Ich bin gerade auf das oben Gesagte gestoßen, also keine Sockets in Firefox 4 oder Opera ... das ist groß. Ist jemandem eine Alternative bekannt oder ist es Chrome oder müssen wir nur sitzen und auf die nächste Version der wichtigsten Browser warten?

Weitere Informationen: Rocket Engine scheint mit allen Browsern einschließlich IE8 (http://rocketpack.fi/engine/) zu funktionieren. Was wird es als Kommunikationsmethode verwenden?


Es kann auch vorkommen, dass das Sicherheitsproblem behoben wird und WebSockets wieder in FireFox enthalten sind. Sie sind nicht für immer deaktiviert, sondern deaktiviert, bis sie sicher sind.
StasM

2
WebSockets sind jetzt wieder aktiviert
Janus Troelsen

Antworten:


6

Ja, es gibt Alternativen:

  • Adobe Flash Socket
  • AJAX lange Umfrage
  • AJAX mehrteiliges Streaming
  • Für immer Iframe
  • JSONP-Abfrage

Schauen Sie sich socket.io an, das diese automatisch verarbeitet, je nachdem, was verfügbar ist.


3

Sie können Flash Sockets jederzeit verwenden, obwohl die native Web Socket-Implementierung mit weniger Aufwand schneller ist.

So wie es aussieht, gibt es ohne Flash keinen anständigen Ersatz. Viele Bibliotheken, die viele verschiedene Transportmodi unter einer "Haube" zusammenfassen, aber nichts, was die gleiche Leistung erbringt.


Hat Silverlight etwas Ähnliches?
Robert Harvey

@ Robert: Ich habe Silverlight nicht verwendet, daher kann ich das nicht beantworten. Ich würde annehmen, dass sie eine gleichwertige Fähigkeit haben, sich mit Flash gleichzusetzen.
Josh K

@Robert Sie können HTTP-Duplex-Polling in Silverlight verwenden.
LiamB

Haben die Flash-Sockets eine Lösung für Port blockiert und nicht. Angenommen, nur Port 80 ist geöffnet. Kann er diesen Port mit Apache teilen?
Patrick Desjardins

@Daok: Sicher, wenn Sie auf der Serverseite eine Art Reverse-Proxy durchführen.
Josh K

1

Es gibt immer noch umkreiste Steckdosen.

Mit Orbited können Sie in Echtzeit mit Ihren Besuchern kommunizieren. Verwenden von Streaming-Netzwerken für JavaScript ... Mit Orbited können Sie Webanwendungen in Echtzeit schreiben ...

Orbited verbindet TCP-Streams mit Ihrem Browser. Auf diese Weise können Sie Ihre Clients mit jedem TCP / IP-Dienst verbinden (IRC-Server, benutzerdefinierte Anwendungen, STOMP-Daemons wie RabbitMQ und ActiveMQ). Orbited verwendet js.io, um Protokolle wie IRC und STOMP ...

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.