HTML5-Web-Sockel - Wie kommunizieren Sie mit ihnen?
-
21-12-2019 - |
Frage
Ich habe viele Socket-Beispiele getestet, und die Kommunikation zwischen ihnen war ziemlich einfach: Die Sockel wird geöffnet und bleibt bis zum Schließen von dabei und es werden keine Informationen angelassen, außer dem, den Sie gesendet haben.
Mit HTML5-Netzsteckdosen sind diese beiden Momente anders.
Zunächst, sobald der Client-HTML5-Buchse mit der Server-Buchse herstellt, sendet er eine Reihe von Informationen:
generasacodicetagpre.Wie interpretieren Sie diese Informationen?Was soll ich damit machen?
Zum zweiten Mal, wenn ich ein paar Zeichenfolge von Debugging Server (Hercules Setup Utility) sende, wird das generationspoDicetagcode-Ereignis von Socket nicht abgefeuert, und die Client-Buchse schließt die Verbindung unmittelbar danach.
Ich vermute, dass HTML5-Netzsteckdose etwas Handshake erwartet, bevor er verwendet werden kann.Wo ich darüber lesen kann?
btw: Ich verwende Ruby als serverseitige Sprache.
Lösung
Ich habe viele Web-Sockel-Beispiele getestet ...
Von dem, was Sie beschreiben, verwenden Sie keine "Web-Sockel", sondern einfach "Sockets", z.Direkter TCP / IP.WebSockets (z. B. was Sie "HTML-Web-Sockets" anrufen) sind unterschiedlich: Sie werden verwendet, um etwas Sockel wie über eine etablierte HTTP-Verbindung herzustellen.Daher sehen Sie die HTTP-Abfrage mit dem Header "Upgrade: WebSocket" mit der "SEC-WebSocket-Key" usw.
Nach dem Einrichten der Verbindung (Server sendet Antwort mit Code 101) Die WebSocketverbindung hat ihre eigene Rahmen- und Verwürzung der Daten, sodass Sie sie nicht einfach mit den normalen Sockel-Tools verwenden können.
siehe http://tools.ietf.org/html/rfc6455 für die Spezifikation undVerwenden Sie "WebSockets" als das Schlüsselwort, wenn Sie nach mehr Dokumentation suchen, Verwendung ...