Heim >Web-Frontend >js-Tutorial >Methoden zur Verwendung von socket.io in node.js_node.js

Methoden zur Verwendung von socket.io in node.js_node.js

WBOY
WBOYOriginal
2016-05-16 16:26:561488Durchsuche

Verwenden Sie socket.io, um einen socket.io-Server zu erstellen. Dieser Server ist jedoch auf einen bereits erstellten http-Server angewiesen.

Nachdem der http-Server ausgeführt wird, verwenden Sie die Listen-Methode, um einen socket.io-Server an den http-Server anzuschließen.

Code kopieren Der Code lautet wie folgt:

var sio=require("scoket.io");
var socket=sio.listen(server);

Socket ist ein socket.io-Server, der auf Serverbasis erstellt wurde.

Wenn der Client eine Verbindung mit dem Server herstellt, wird das Verbindungsereignis des socket.io-Dienstes ausgelöst.

Code kopieren Der Code lautet wie folgt:

socket.on("connection",function(socket){
});

Der Socket-Parameter in der Rückruffunktion ist das Socket-Port-Objekt, das zum Herstellen einer Verbindung zwischen dem Server und dem Client verwendet wird.

Wenn eine vom Client gesendete Nachricht empfangen wird, wird das Nachrichtenereignis des Socket-Port-Objekts ausgegeben.

Code kopieren Der Code lautet wie folgt:

socket.on("message",function(msg){
});

Der Parameter der Callback-Funktion ist die vom Client gesendete Nachricht.

Sie können socket.send(msg) verwenden, um eine Nachricht an den Client zu senden.

Das Trennungsereignis wird ausgelöst, wenn die Verbindung zwischen dem Server und dem Client getrennt wird.

Code kopieren Der Code lautet wie folgt:

socket.on("disconnect", funciton(){
});

Diese Rückruffunktion benötigt keine Parameter.

Serverseitiger server.js-Code:

Code kopieren Der Code lautet wie folgt:

var http=require("http");
var sio=require("socket.io");
var fs=require("fs");
var server=http.createServer(function (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 stellt Verbindung her");
​​socket.send("Hallo");
socket.on("message", Funktion (msg) {
console.log("Eine Nachricht erhalten:" msg);
});
​​socket.on("disconnect", function () {
console.log("Client getrennt.");
});
});

Client index.html-Code erstellen:

Code kopieren Der Code lautet wie folgt:







<script><br>         var socket=io.connect();<br> socket.on("Nachricht", Funktion (Daten) {<br> console.log(data);<br> socket.send("Nachricht empfangen.")<br>           });<br>            socket.on("disconnect", function () {<br> console.log("Serverseitig getrennt.");<br>           });<br> </script>




Dieser Code:/socket.io/socket.io.js wird von der serverseitigen Klassenbibliothek socket.io bereitgestellt und es ist nicht erforderlich, tatsächlich eine socket.io.js-Datei auf der Clientseite zu platzieren.

Verwenden Sie in der Skriptdatei zunächst die Methode io.connect(), um eine Verbindung zum serverseitigen socket.io-Server herzustellen.

Diese Methode gibt ein Client-Socket-Port-Objekt zurück, das eine Verbindung mit dem Server herstellt.

Wenn eine vom Server gesendete Nachricht empfangen wird, wird das Nachrichtenereignis des Client-Socket-Port-Objekts ausgelöst.

Code kopieren Der Code lautet wie folgt:

socket.on("message",function(msg){
});

msg sind die vom Server gesendeten Daten;

Sie können auch die send()-Methode des Socket-Objekts des Clients verwenden, um Daten an den Server zu senden.

Code kopieren Der Code lautet wie folgt:

socket.send(msg);

Wenn der Server die Verbindung trennt, wird das Trennungsereignis des Client-Socket-Port-Objekts ausgelöst,

Code kopieren Der Code lautet wie folgt:

socket.on("disconnect",function(){
})

Diese Rückruffunktion verwendet keine Parameter.

Hinweis:

Der Nachrichtenmechanismus des Clients stimmt vollständig mit dem Nachrichtenverarbeitungsmechanismus des Servers überein, da socket.io sicherstellt, dass Client und Server dieselbe API verwenden.

Ergebnis nach dem Ausführen:

Wenn der Browser geschlossen wird, wird die Verbindung mit dem Server getrennt. Zu diesem Zeitpunkt löst der Server das Trennereignis aus und der Client trennt die Verbindung.

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