JS / HTML5 WebSocket: Verbindung ohne HTTP-Aufruf

9

Okay, also habe ich gerade die neue WebSocket-Klasse in HTML 5 ausprobiert und war ziemlich aufgeregt, dass sie existiert; Ich sehe jedoch nicht, dass sie viel lohnender sind als AJAX, da sie immer noch einen HTTP-Aufruf initiieren und nicht wie konventionelle Sockets sind. Deshalb frage ich hier.

Gibt es eine Möglichkeit mit der Klasse WebSocket von HTML 5, sich mit einem abhörenden Socket zu verbinden, ohne HTTP-Daten zu senden? Derzeit mit TCP / IP-Builder zeigt es all diese Header-Mist, die ich nicht will (da ich mit POP3 / IMAP-Servern ohne Dinge wie Flash-Brücken oder Comet verbinden möchten).

Möglich?

Ausgabe von Verbindung:

%Vor%     
Qix 04.01.2011, 03:43
quelle

1 Antwort

5

Nein. Sobald die Verbindung hergestellt ist, haben Sie einen echten Socket. Aber Sie haben Recht, dass es spezielle Serverunterstützung erfordert. So können Sie sich nicht mit einem unmodifizierten POP- oder IMAP-Server verbinden.

Sie haben sich für dieses Design entschieden (den Upgrade-Mechanismus), damit Sie problemlos einen Server haben können, der sowohl WebSocket-Verbindungen als auch echte HTTP-Anfragen abgehört hat.

There ist immer noch eine große Unterscheidung von AJAX und COMET. Sie können WebSockets verwenden, um eine echte Vollduplex-Kommunikation zwischen Server und Client herzustellen. Frühere Browser-APIs haben dies nicht vorgesehen und zwingen die Benutzer dazu, verschiedene Workarounds zu verwenden (wie wiederholte AJAX-Anfragen, COMET-Frames für immer und andere).

    
Matthew Flaschen 04.01.2011, 04:00
quelle