In diesem Artikel -Beispiel node.js wird ein Web -Chat -Server für sofortige Kommunikation für Ihre Referenz erstellt. Der spezifische Inhalt ist wie folgt
1. Verwenden Sie Nodejs-Websocket
NodeJS-Webocket ist eine Backend-Bibliothek, die das WebSocket-Protokoll implementiert, das basierend auf node.js.
Verbindung: https://github.com/sitegui/nodejs-websocket.
(1) Installation
Installieren Sie über NPM im Projektverzeichnis: NPM NODEJS-Webocket installieren
(2) Erstellen Sie einen Server
// Nodejs-Websocketvar WS = Request ("Nodejs-Websocket") einführen; // Cree CreateServer -Methode zum Erstellen des Servers, und die CONN in der Rückruffunktion ist eine Instanz des Verbindungsvarservers Var Server = Ws.create (Funktion (conn) {console.log ("Neue Verbindung"); // Hören Sie sich den Textereignis an, und das Textereignis wird ausgelöst, wenn immer Texttypdaten vom Server und die Parameter -Aufruf -Funktion ("Die Parameter -Funktion" -Knallfunktion. " + str);}); // Hören Sie sich das endgültige Ereignis an und Trigger Conn.on (" Close ", Funktion (Code, Grund) {console.log (" Verbindung geschlossen ");})}). Hören (8888);2. Der Client verwendet WebSocket
Auf dem Client müssen Sie ein WebSocket -Objekt instanziieren: WS = New WebSocket ("WS: // localhost: 5000"); Der in übergebene Parameter ist WS: //+URL, was dem HTTP -Protokollpräfix http: // entspricht. Als nächstes können Sie einige integrierte Methoden von WebSocket verwenden, um Ereignisse zu überwachen und Daten anzuzeigen.
Hier führen wir jedes Hörereignis vor: Onopen -Trigger, wenn der Server und der Client eine Verbindung herstellen; OnMessage löst sich aus, wenn der Client Daten erhält, die vom Server gesendet werden. Onclose -Auslöser, wenn der Client und die Verbindung des Servers geschlossen sind. OnError -Auslöser, wenn der Verbindungsfehler auftritt.
3. Verwenden Sie WebSocket + NodeJS, um Online -Chatraum zu implementieren
(1) HTML- und CSS -Code weggelassen
(2) Client JS:
oconnect.onclick = function () {ws = new WebSocket ('WS: // localhost: 5000'); ws.onopen = function () {Oul.innerhtml+= "<li> Client verbunden </li>"; } ws.onMessage = function (evt) {Oul.innerHtml+= "<li>"+evt.data+"</li>"; } ws.onclose = function () {Oul.innerhtml+= "<li> Client zerfetzt </li>"; }; ws.onerror = function (evt) {Oul.innerhtml+= "<li>"+evt.data+"</li>"; }; }; osend.onclick = function () {if (ws) {Ws.send (oinput.Value); }} (3) Serverseite JS: /*WebSocket unterstützt zwei Arten von Datenübertragung: Texttyp und binärer Typ, wobei binäre Daten gesendet und das Stream -Muster* /var app = require ('http') gesendet und durchlesen. CreateServer (Handler); // Um den Code zu vereinfachen, geben Sie den servererstelligen spezifischen Code in die Handler-Funktion var ws = required ('nodejs-webocket'). var fs = required ('fs'); App.Listen (8888); Funktionshandler (req, res) {// __ DirName gibt das aktuelle Verzeichnis zurück, in dem sich die Datei befindet. Rufen Sie die ReadFile -Methode für die Datei lesen fs.readFile (__ DirName+'/index.html', Funktion (err, data) {if (err) {res.writehead (500); Eine Instanz des entsprechenden Verbindungsvarservers var Server = Ws.CreateServer (Funktion (conn) {console.log ('New Connecton'); // Hören Sie sich den Textereignis an und Trigger conn.on ("text", function (str) {Immer wenn der Text erhalten wird. console.log ('Verbindung geschlossen'); // Beachten Sie, dass der Hörer hier der Port des Servers ist, der gerade geöffnet wurde. Der Client sendet die Nachricht hier, um die Funktionsübertragung zu verarbeiten (Server, msg) {//server.connections ist ein Array, das alle verbundenen Clients enthält.Ich hoffe, dass alle Inhalte davon für das Lernen aller hilfreich sind, und ich hoffe, dass jeder wulin.com mehr unterstützen wird.