Eine der coolen neuen Funktionen in HTML5 sind WebSockets, die es uns ermöglichen, ohne AJAX-Anfragen mit dem Server zu kommunizieren. Heute können Sie mit Bin Go WebSocket über die Serverseite der PHP-Umgebung ausführen, einen Client erstellen und serverseitige Informationen über das WebSockets-Protokoll senden und empfangen.
Was sind WebSockets?
WebSockets ist eine Technologie für die bidirektionale Kommunikation über eine (TCP-)Schnittstelle vom Typ PUSH-Technologie. Gleichzeitig basieren WebSockets weiterhin auf dem W3C-Standard. Bisher unterstützen die neuesten Versionen der Browser Chrome und Safari bereits WebSockets.
Was werden WebSockets ersetzen? WebSockets können Long Polling (PHP-Server-Push-Technologie) ersetzen, was ein interessantes Konzept ist. Der Client sendet eine Anfrage an den Server. Der Server antwortet nicht auf Daten, die nicht bereit sind. Danach empfängt der Client die Daten und sendet eine weitere Anfrage. . Dies hat seine Vorteile: Es reduziert die Latenz bei beiden Verbindungen und macht das Erstellen einer neuen Verbindung überflüssig, wenn eine bereits geöffnet ist. Aber Long-Polling ist keine ausgefallene Technologie. Es ist dennoch möglich, dass es zu einer Unterbrechung der Anfrage kommt, sodass eine neue Verbindung hergestellt werden muss.
Einige AJAX-Anwendungen verwenden die oben genannten Techniken – dies wird häufig auf eine geringe Ressourcenauslastung zurückgeführt.
Stellen Sie sich vor, was für eine tolle Sache es wäre, wenn der Server morgens selbst starten würde und Daten an Clients senden würde, die diese empfangen möchten, ohne vorher einige Verbindungsports einrichten zu müssen! Willkommen in der Welt der PUSH-Technologie!
Schritt 1: Holen Sie sich den WebSocket-Server
Dieses Tutorial konzentriert sich mehr auf die Clienterstellung als auf die serverseitige Ausführung und andere Vorgänge.
Ich verwende XAMPP unter Windows 7, um PHP lokal auszuführen. phpwebsockets ist ein PHP-WebSocket-Server. (Meiner Erfahrung nach weist diese Version einige kleinere Probleme auf. Ich habe einige Änderungen daran vorgenommen und die Quelldateien hochgeladen, um sie mit allen zu teilen.) Die verschiedenen Versionen unten können auch WebSocket implementieren. Wenn eine davon nicht funktioniert, können Sie andere Versionen ausprobieren. Oder fahren Sie mit dem Tutorial unten fort.
jWebSocket (Java)
Web-Socket-Ruby (Rubin)
Socket-IO-Knoten (node.js)
Starten Sie den Apache-Server
Schritt 2: URLs und Ports ändern
Ändern Sie den Server basierend auf Ihrer vorherigen Installation. Hier ist ein Beispiel aus setup.class.php:
öffentliche Funktion __construct($host='localhost',$port=8000,$max=100) { $this->createSocket($host,$port); } |
Durchsuchen Sie die Datei und nehmen Sie gegebenenfalls Änderungen vor.
Schritt 3: Beginnen Sie mit der Erstellung des Clients
Lassen Sie uns die Basisvorlage erstellen. Dies ist meine client.php-Datei:
"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> WebSockets-ClientVersuchen Sie es beispielsweise mit „Hallo“, „Name“, „Alter“, „Heute“ |