HTML5 und Web Sockets

Web-Buchsen sind eine der technisch fortschrittlichsten Ergänzungen zu HTML5, und sie haben auch das Potenzial, die dramatischste Veränderung der Art und Weise Internet Arbeit zu leisten, ist getan.

Lange vor dem Web, wie wir es kennen, Programmierer eine Idee wurden unter Verwendung genannt Steckdosen Remote-Computern zu ermöglichen, mit einer ständigen Verbindung zu kommunizieren. Wenn Sie jemals eine Telnet, FTP oder SSH-Client verwendet haben, haben Sie ein Programm verwendet, die Sockets verwendet. Typischerweise wird der Programmierer baut zwei Arten von Steckdosen: Einer, der auf dem Server (a lebt - denn es warten - Server-Socket) Und eine, die auf dem Client lebt (Sie haben es erraten - ein Client-Socket.) Diese beiden Programme durch eine vorbestimmte stilisierte Kommunikationsvereinbarung kommunizieren, eine so genannte Kommunikationsprotokoll. In der Tat, Telnet, FTP, HTTP, und viele andere Internet-Tools sind wirklich mehr Protokolle als Software. Ein Telnet-Programm ist eigentlich ein multifunktionales Socket-Client, und es kann verwendet werden, um viele verschiedene Arten von Server-Sockets zu testen. Der Web-Server selbst ist ein spezialisierter Server, der in erster Linie das HTTP-Protokoll spricht, und der Web-Browser ist ein spezialisierter Client, der HTTP spricht.

Sie können einen Socket-Tool wie Telnet auf einem HTTP-Server zu verbinden. Um dies zu testen, führen Sie den folgenden Code aus der Befehlszeile. (Es sollte die gleiche auf allen wichtigen Plattformen arbeiten: Sie alle eine grundlegende Telnet Programm eingebaut.)

telnet aharrisbooks.net 80

Sie haben mit dem Server verbunden Port 80 (Standard-Web-Server-Port). Sie erhalten eine Antwort, die wie folgt aussieht. (Fettdruck zeigt an, dass diese vom Server kommt.)

Der Versuch, 66.40.52.176 ...Verbunden mit aharrisbooks.net.Escape-Zeichen '^]'.

Jetzt ist der Server denkt, dass Sie einen Browser. Um eine bestimmte Seite zu erhalten, müssen Sie die gleiche Anfrage zu senden würde der Browser senden. Um den Index für javascript und AJAX für Dummies von Andy Harris, benutzen Sie diese Anfrage:

GET /jad/index.html HTTP / 1.1host: aharrisbooks.net

Drücken Sie die Enter-Taste zweimal nach der letzten Zeile die Anforderung zu senden. Sie werden eine lange Reihe von HTML-Code zu sehen - den gesamten Code, der die Seite bildet. Natürlich, werden Sie den Code nur, weil kein echter Browser ist. Am Ende werden Sie diese Zeile sehen:

Verbindung von ausländischen Host geschlossen.

Dies geschieht immer, da HTTP ein zustandsloses Protokoll ist.

Web-Buchsen bieten ein zusätzliches Protokoll. Sie können immer noch auf der Webseite auf normale Weise zu verbinden, aber wenn Sie einen Web-Socket zu implementieren, schreiben Sie Code in Ihre Web-Seite, die an einen Server-Socket-Verbindung herstellen können und mit ihm zu kommunizieren. Während die Seite selbst noch die staatenlos HTTP-Protokoll verwendet, bleibt die Socket-Verbindung so lange an Ort und Stelle, wie die Seite aktiv ist, so dass für eine vollständige Zweiwege-Kommunikation, ohne eine Verbindung wieder herzustellen.

Die Art der Verbindung, die Sie mit diesem Mechanismus erhalten, ist ideal für Anwendungen, die ein hohes Maß an Client-Server-Kommunikation, wie Chat-Anwendungen und Mehrspielerspiele erfordern.

Natürlich eine Web-Socket-Verbindung aufzubauen, müssen Sie sowohl einen Client und einen Server zu haben. Typischerweise wird der Server in einer Sprache wie PHP oder Python geschrieben. Sie müssen auch Kenntnisse sowohl Socket-Programmierung und die Sprache der Server mit integriertem ist eine Server-Socket zu bauen. Viele moderne Sprachen unterstützen eine generische Socket-Modus, der verwendet werden kann, eine spezielle Web-Socket zu erstellen.

Der Code für ein Programm, das den Benutzer zur Eingabe von Informationen ermöglicht, die an den Server und Echo zurückgeschickt wird, ist etwas lang, aber nicht sehr kompliziert:

WebSocket-Test

Web-Buchse Echo Chamber

Klicken Sie auf "Verbinden" Taste, um eine Verbindung

Menü