Maison  >  Article  >  interface Web  >  Méthodes d'utilisation de socket.io dans node.js_node.js

Méthodes d'utilisation de socket.io dans node.js_node.js

WBOY
WBOYoriginal
2016-05-16 16:26:561452parcourir

Utilisez socket.io pour créer un serveur socket.io Mais ce serveur dépend d'un serveur http déjà créé.

Une fois le serveur http exécuté, utilisez la méthode d'écoute pour attacher un serveur socket.io au serveur http.

Copier le code Le code est le suivant :

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

Socket est un serveur socket.io créé sur la base d'un serveur.

Lorsque le client établit une connexion avec le serveur, l'événement de connexion du service socket.io est déclenché.

Copier le code Le code est le suivant :

socket.on("connexion",fonction(socket){
});

Le paramètre socket dans la fonction de rappel est l'objet port socket utilisé pour établir une connexion entre le serveur et le client.

Lorsqu'un message envoyé par le client est reçu, l'événement message de l'objet port socket est émis.

Copier le code Le code est le suivant :

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

Le paramètre de la fonction de rappel est le message envoyé par le client.

Vous pouvez utiliser socket.send(msg) pour envoyer un message au client.

L'événement de déconnexion est déclenché lorsque la connexion entre le serveur et le client est déconnectée.

Copier le code Le code est le suivant :

socket.on("déconnecter", funciton(){
});

Cette fonction de rappel ne prend aucun paramètre.

Code server.js côté serveur :

Copier le code Le code est le suivant :

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"));
});
serveur.écouter(1337);
var socket=sio.listen(server);
socket.on("connexion", fonction (socket) {
console.log("Le client établit la connexion");
​​socket.send("Bonjour");
socket.on("message", fonction (msg) {
console.log("Message reçu :" msg);
});
​​socket.on("déconnecter", function () {
console.log("Client déconnecté.");
});
});

Créer le code index.html du client :

Copier le code Le code est le suivant :







<script><br>         var socket=io.connect();<br> socket.on("message", fonction (données) {<br> console.log(données);<br> socket.send("Message reçu.")<br>           });<br>            socket.on("disconnect", function () {<br> console.log("Côté serveur déconnecté.");<br>           });<br> </script>




Ce code :/socket.io/socket.io.js est fourni par la bibliothèque de classes socket.io côté serveur, et il n'est pas nécessaire de placer un fichier socket.io.js côté client.

Dans le fichier de script, utilisez d'abord la méthode io.connect() pour vous connecter au serveur socket.io côté serveur.

Cette méthode renvoie un objet port de socket client qui établit une connexion avec le serveur.

Lorsqu'un message envoyé par le serveur est reçu, l'événement message de l'objet port socket client est déclenché.

Copier le code Le code est le suivant :

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

msg est les données envoyées par le serveur ;

Vous pouvez également utiliser la méthode send() de l'objet socket du client pour envoyer des données au serveur.

Copier le code Le code est le suivant :

socket.send(msg);

Lorsque le serveur se déconnecte, l'événement de déconnexion de l'objet port socket client est déclenché,

Copier le code Le code est le suivant :

socket.on("déconnecter",function(){
})

Cette fonction de rappel n'utilise aucun paramètre.

Remarque :

Le mécanisme de message du client est totalement cohérent avec le mécanisme de traitement des messages du serveur. Parce que socket.io garantit que le client et le serveur partagent la même API.

Résultat après exécution :

Lorsque le navigateur est fermé, la connexion avec le serveur est déconnectée. A ce moment, le serveur déclenche l'événement de déconnexion et le client se déconnecte.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn