Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erklärung der Verwendung von node.js mit WebSocket basierend auf Express

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

小云云
小云云Original
2017-12-23 09:03:502781Durchsuche

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

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


var app = express();

um Zeile 12


var server = require('http').Server(app);
var io = require('socket.io')(server);

Dann fügen Sie


app.use(function(req, res, next){
 res.io = io;
 next();
});

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);

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);
 });
});

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; });
});

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", {});
});

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!

Stellungnahme:
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