Heim > Web-Frontend > js-Tutorial > Hauptteil

Ausführliche Erklärung der Verwendung von node.js mit WebSocket basierend auf Express

小云云
Freigeben: 2017-12-23 09:03:50
Original
2800 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Methode von node.js vor, die auf Express basiert. Er analysiert die zugehörigen Einstellungen und Verwendungstechniken von node.js basierend auf dem Aufruf von Websocket anhand des Beispiels. Ich hoffe, es kann allen helfen.

Ich habe auch lange nach diesem Effekt gesucht und der Test war erfolgreich. Wie dem auch sei, er war erfolgreich, werfen wir einen Blick darauf

Zuerst müssen Sie die Steckdose installieren. io-Modul


npm install socket.io --save
Nach dem Login kopieren

Öffnen Sie dann die app.js von Express und importieren Sie das Modul. Fügen Sie unten zwei Zeilen hinzu


var app = express();
Nach dem Login kopieren

um Zeile 12


var server = require('http').Server(app);
var io = require('socket.io')(server);
Nach dem Login kopieren

Dann fügen Sie


app.use(function(req, res, next){
 res.io = io;
 next();
});
Nach dem Login kopieren

in mehr als 20 Zeilen hinzu, weil Ich lese nicht gerne von WWW Start, also füge ein paar weitere Zeilen Code zu app.js hinzu, füge ihn in die vorletzte Zeile unten ein


var port = 3000;
app.set('port', port);
server.listen(port);
Nach dem Login kopieren

Dies beginnt mit dem Abhören von Port 3000

Auf diese Weise sind die Vorbereitungsarbeiten abgeschlossen und dann wird mit dem Beispiel begonnen

Verwenden Sie zum Testen den offiziellen Beispielcode, Sie können ihn schreiben direkt in app.js


io.on('connection', function (socket) {
 socket.emit('news', { hello: 'world1' });
 socket.on('my other event', function (data) {
  console.log(data);
 });
});
Nach dem Login kopieren

Die Vorbereitungsarbeiten auf der Serverseite sind abgeschlossen. Führen Sie auf der Clientseite zunächst die Datei socket.js ein


<script src=&#39;javascripts/socket.io-1.4.5.js&#39;></script>
var socket = io.connect("//localhost:3000");
socket.on(&#39;news&#39;, function (data) {
  console.log(data);
  alert(data);
  socket.emit(&#39;my other event&#39;, { my: &#39;data&#39; });
});
Nach dem Login kopieren

und dann die Seite öffnen, um sie zu testen

Wenn Sie Informationen vom Server nur an eine Seite senden möchten, können Sie so schreiben

router.get(&#39;/&#39;, function(req, res, next) {
  //只有当前页面可以获得
  res.io.on(&#39;connection&#39;, function(socket) {
    socket.emit(&#39;news&#39;, {
      hello: &#39;world&#39;
    });
    socket.on(&#39;my other event&#39;, function(data) {
      console.log(data);
    });
  });
  //所有页面都可以获得
  var io = require("../app").io;
  io.emit("news",{hello:"myworld"});
  res.render("pclogin.ejs", {});
});
Nach dem Login kopieren

Verwandte Empfehlungen:

Über die Lösung des Problems, dass der WebSocket-Bereitstellungsserver keine Verbindung zum externen Netzwerk herstellen kann

Detaillierte Einführung in Websocket in PHP

nodejs+websocket vervollständigt eine Chat-Systemfunktion

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung der Verwendung von node.js mit WebSocket basierend auf Express. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage