Heim > Artikel > Web-Frontend > Ausführliche Erklärung der Verwendung von node.js mit WebSocket basierend auf Express
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='javascripts/socket.io-1.4.5.js'></script> var socket = io.connect("//localhost:3000"); socket.on('news', function (data) { console.log(data); alert(data); socket.emit('my other event', { my: 'data' }); });
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('/', function(req, res, next) { //只有当前页面可以获得 res.io.on('connection', function(socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function(data) { console.log(data); }); }); //所有页面都可以获得 var io = require("../app").io; io.emit("news",{hello:"myworld"}); res.render("pclogin.ejs", {}); });
Verwandte Empfehlungen:
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!