Serverseitiger server.js-Code
var express=require("express");
var http=require("http");
var sio=require("socket.io");
var app=express();
var server=http.createServer(app);
var fs=require("fs");
app.get("/", Funktion (req,res) {
res.sendfile(__dirname "/index.html");
});
server.listen(1337);
var socket=sio.listen(server);
socket.on("Verbindung", Funktion (Socket) {
socket.emit("news",{hello:"Hello"});
socket.on("otherEvent", Funktion (Daten) {
console.log("Server hat Daten empfangen: %j",data);
})
});
Client index.html-Code
<script><br>
var socket=io.connect();<br>
socket.on("news", Funktion (Daten) {<br>
console.log(data.hello);<br>
socket.emit("otherEvent",{my:"data"});<br>
});<br>
</script>
Plötzlich kam mir eine Frage in den Sinn: Kann ich den Überwachungscode für Nachrichten an dasselbe Ende schreiben wie emit?
Hier entlang:
var express=require("express");
var http=require("http");
var sio=require("socket.io");
var app=express();
var server=http.createServer(app);
app.get("/", Funktion (req,res) {
res.sendfile(__dirname "/index.html");
});
server.listen(1337,"127.0.0.1", function () {
console.log("Überwachung starten 1337");
});
var socket=sio.listen(server);
socket.on("Verbindung", Funktion (Socket) {
socket.on("news", Funktion (Daten) {
console.log(data.hello);
});
socket.emit("news",{hello:"Hello"});
});
Beachten Sie die 15–17 Codezeilen: Sie wurden von uns neu hinzugefügt.
Fakten beweisen, dass dies nicht möglich ist, es wird kein Druck erfolgen, es wird aber auch kein Fehler gemeldet.
Die Ausführung von Emit wird euphemistisch als „Senden eines Ereignisses“ bezeichnet. Wenn es Parameter gibt, wird es euphemistisch als „Übertragen von Parametern“ bezeichnet.
Nachtrag:
Ich habe im Internet auch viele Informationen zu den Sitzungsaufrufmethoden im Express-Framework gefunden, aber ich habe festgestellt, dass nicht viele davon tatsächlich nützlich sind. Dieser Artikel basiert auf dem Produktionsprozess meines eigenen Projekts und wurde zusammengestellt die spezifischen Methoden zur Verwendung von Sitzungen in Express und socket.IO.