Ich möchte einen einfachen Long-Polling-Server in node.js erstellen, wo die Kommunikation auf JSONP-Anfragen basiert. Ich verstehe, dass der Client eine Anfrage stellt und der Server die Antwort hält, bis einige Daten bereit sind oder eine bestimmte Zeitüberschreitung erreicht ist, und dann wird eine neue Anfrage vom Client gemacht, um die Dinge am Laufen zu halten. Sobald die erste Anfrage gestellt wurde, wird die Sitzungs-ID erzeugt und gespeichert, um die Liste der aktiv verbundenen Clients zu behalten. Wie erkenne ich nun, dass jede andere Anfrage nach der ersten Antwort von Server zu Client zu dem Client in meiner Liste der aktiven Verbindungen gehört?Long-Polling-Server-Prinzip (Client-Identifikation)
Ich kann mir vorstellen, es so zu machen: erste Antwort vom Server sendet zugewiesene Sitzungs-ID zum Client, und dann wird er identifiziert, basierend auf dieser ID, wenn er nächste Anfragen macht. Aber ich denke, dass dieser Ansatz leicht ausgenutzt werden kann und anfällig für Identitätsdiebstahl ist.
Ich weiß über Socket.IO, aber das ist nur Hobby Sachen für mein Vergnügen erstellt, wenn Sie wissen, was ich meine :). – yojimbo87
Nun, lassen Sie mich sagen, dass JSONP die schlechteste Wahl ist, es ist die unsicherste Art, das Messaging zu machen, da es direkt das JavaScript ausführt (einschließlich aller darin enthaltenen Funktionen). –
Das Problem ist in der gleichen Ursprungsrichtlinie und JSONP ist (nach meinem Wissen) die einzige Möglichkeit, die über alle Browser funktioniert. Auch Google verwendet es für verschiedene Dinge (zum Beispiel http://googlecode.blogspot.com/2010/11/instant-previews-under-hood.html). – yojimbo87