Verwenden Sie Socket.io, um einen Socket.io -Server zu erstellen. Der Server hängt jedoch von einem bereits erstellten HTTP -Server ab.
Nachdem der HTTP -Server ausgeführt wurde, verwenden Sie die Hörenmethode, um einen Socket.IO -Server an den HTTP -Server anzuhängen.
Die Codekopie lautet wie folgt:
var sio = required ("scoket.io");
var socket = sio.listen (server);
Socket ist ein Socket.IO -Server, der auf dem Server erstellt wurde.
Wenn der Client eine Verbindung mit dem Server herstellt, wird das Verbindungsereignis des Socket.io -Dienstes ausgelöst.
Die Codekopie lautet wie folgt:
Socket.on ("Verbindung", Funktion (Socket) {
});
Der Socket -Parameter in der Rückruffunktion ist ein Socket -Port -Objekt, das eine Verbindung zwischen dem Server und dem Client herstellt.
Wenn eine vom Client gesendete Nachricht empfangen wird, wird ein Nachrichtenereignis des Socket -Port -Objekts ausgegeben.
Die Codekopie lautet wie folgt:
socket.on ("message", function (msg) {
});
Die Parameter der Rückruffunktion sind Nachrichten, die vom Client gesendet werden.
Sie können Socket.Send (MSG) verwenden, um eine Nachricht an den Client zu senden.
Das Disconnect-Ereignis wird ausgelöst, wenn die serverseitige clientseitige Verbindung getrennt wird.
Die Codekopie lautet wie folgt:
socket.on ("trennect", funciton () {
});
Diese Rückruffunktion wendet keine Parameter an.
Serverseitiger Server.js Code:
Die Codekopie lautet wie folgt:
var http = required ("http");
var SiO = Request ("Socket.io");
var fs = require ("fs");
var server = http.createServer (Funktion (req, res) {
Res.WriteHead (200, {"Content-Type": "text/html"});
res.end (fs.readFilesync ("./ index.html"));
});
Server.Listen (1337);
var socket = sio.listen (server);
Socket.on ("Verbindung", Funktion (Socket) {
console.log ("Client -Verbindungseinrichtung");
Socket.Send ("Hallo");
socket.on ("message", function (msg) {
console.log ("Empfangen Sie eine Nachricht:"+msg);
});
socket.on ("trennect", function () {
console.log ("Client -Trennung");
});
});
Client index.html code erstellen:
Die Codekopie lautet wie folgt:
<! DocType html>
<html>
<head Lang = "en">
<meta charset = "utf-8">
<title> </title>
<script src = "/socket.io/socket.io.js"> </script>
<Script>
var socket = io.connect ();
Socket.on ("Nachricht", Funktion (Daten) {
console.log (Daten);
Socket.Send ("Nachricht akzeptiert.")
});
socket.on ("trennect", function () {
console.log ("Server -Seite trennen");
});
</script>
</head>
<body>
</body>
</html>
Dieser Code: /socket.io/socket.io.js ist mit der Server-Side-Socket.io-Klassenbibliothek versehen, und es müssen keine Socket.io.js-Datei auf den Client platziert werden.
Verwenden Sie in der Skriptdatei zunächst die Methode io.connect (), um eine Verbindung zum Server Socket.io -Server herzustellen.
Diese Methode gibt ein Client -Socket -Port -Objekt zurück, das eine Verbindung zum Server herstellt.
Wenn eine Nachricht vom Server empfangen wird, wird das Nachrichtenereignis des Client -Socket -Port -Objekts ausgelöst.
Die Codekopie lautet wie folgt:
socket.on ("message", function (msg) {
});
MSG ist Daten, die vom Server gesendet werden.
Sie können auch die Send () -Methode des Client -Socket -Objekts verwenden, um Daten an den Server zu senden.
Die Codekopie lautet wie folgt:
Socket.Send (MSG);
Wenn der Server getrennt wird, wird das Trennereignis des Client -Socket -Port -Objekts ausgelöst.
Die Codekopie lautet wie folgt:
socket.on ("trennect", function () {
})
Diese Rückruffunktion verwendet keine Parameter.
Beachten:
Der Nachrichtenmechanismus des Clients entspricht genau dem serverseitigen Nachrichtenverarbeitungsmechanismus. Weil Socket.io sicherstellt, dass der Client und der Server dieselbe API teilen.
Ergebnisse nach dem Laufen:
Wenn der Browser geschlossen ist, wird die Verbindung zum Server getrennt. Zu diesem Zeitpunkt löst der Server das Disconnect -Ereignis aus und der Client trennt die Verbindung.