feng: Bidirectional streaming

Hallo,

ich arbeite momentan an einem kleinen Fun Projekt, wofür ich alle 5 Sekunden circa die aktuellen Daten einer MySQL DB abrufe. Dort werden Koordinaten und Vektoren in einem 5 Sekunden Interval neu berechnet.

Momentan löse ich das, indem ich alle 5 Sekunden einen XMLHTTPRequest über Ajax (da die Seite nicht neu geladen werden soll) ausführe. Das funktioniert auch ganz gut.

Nun möchte ich den Datenaustausch (der Client kann auch auf Wunsch neue Koordinaten an den Server senden) über einen Stream lösen.

Bisher habe ich die Geschichte so zum laufen gebracht, dass der Ajax Request offen bleibt, also vom Webserver nicht geschlossen wird. So kann ich wunderbar über eine und dieselbe Verbindung Datensätze empfangen. Allerdings weiß ich nicht, ob und wenn ja, wie ich Daten über die bereits bestehende Verbindung zum Webserver schicken kann.

Die ganzen anderen Lösungen, die ich im Web gefunden habe bauen zwar eine Verbindung auf, worüber der Webserver Antworten streamen kann, öffnen aber zum Senden, also Browser->Webserver einen erneuten Request.

Eine stetige Verbindung, wie man es von anderen Programmen und Protokollen kennt hätte eben den Vorteil, dass ich den User, der den Stream aufbaut nur einmal authentifizieren muss und ebenso nicht dauernd neue Sockets verwalten muss.

Deshalb mein Anliegen:

Ich brauche eine Lösung, wie ich einen bidirektionalen Datenstream zum Server aufbauen kann. Es sollte mit Javascript zu realisieren sein, und wenn möglich unter Firefox und IE laufen.
Wenn das nicht möglich ist, bin ich für andere Vorschläge auch offen.

Danke und Gruß

  1. Was "besseres" wirst du meiner Meinung nach nicht finden.

    1. Was "besseres" wirst du meiner Meinung nach nicht finden.

      Ansonsten müsste als letzter Ausweg doch ein verstecktes Flash Applet möglich sein, welches nur dazu dient, die TCP Verbindung aufzubauen. Wenn ich mich nicht irre, kann Actionscript mit Javascript kommunizieren,oder?