Maison > interface Web > js tutoriel > Explication détaillée de node.js utilisant websocket basé sur express

Explication détaillée de node.js utilisant websocket basé sur express

小云云
Libérer: 2017-12-23 09:03:50
original
2841 Les gens l'ont consulté

Cet article présente principalement la méthode de node.js utilisant websocket basée sur express. Il analyse les paramètres associés et les techniques d'utilisation de node.js basées sur websocket d'appel express basé sur l'exemple. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

J'ai également recherché cet effet pendant longtemps, et le test a réussi Quoi qu'il en soit, il a réussi, jetons un coup d'oeil

Vous devez d'abord installer le module socket.io <.>


npm install socket.io --save
Copier après la connexion
Ensuite, ouvrez le app.js d'express et importez le module, ajoutez deux lignes ci-dessous


var app = express();
Copier après la connexion
autour de la ligne 12


var server = require(&#39;http&#39;).Server(app);
var io = require(&#39;socket.io&#39;)(server);
Copier après la connexion
Puis ajoutez


app.use(function(req, res, next){
 res.io = io;
 next();
});
Copier après la connexion
en plus de 20 lignes parce que je ne Je n'aime pas lire sur www Start, alors ajoutez quelques lignes de code supplémentaires à app.js, ajoutez-les à l'avant-dernière ligne en bas


var port = 3000;
app.set(&#39;port&#39;, port);
server.listen(port);
Copier après la connexion
Cela commencera à écouter le port 3000

De cette façon, le travail de préparation est terminé, puis démarrera l'exemple

Utilisez l'exemple de code officiel pour tester, vous pouvez l'écrire directement dans l'application .js


io.on(&#39;connection&#39;, function (socket) {
 socket.emit(&#39;news&#39;, { hello: &#39;world1&#39; });
 socket.on(&#39;my other event&#39;, function (data) {
  console.log(data);
 });
});
Copier après la connexion
Le travail de préparation côté serveur est terminé. Sur la page client, introduisez d'abord le fichier socket.js

<. 🎜>


puis ouvrez la page pour la tester
<script src=&#39;javascripts/socket.io-1.4.5.js&#39;></script>
var socket = io.connect("//localhost:3000");
socket.on(&#39;news&#39;, function (data) {
  console.log(data);
  alert(data);
  socket.emit(&#39;my other event&#39;, { my: &#39;data&#39; });
});
Copier après la connexion

Si vous souhaitez envoyer des informations du serveur vers une seule page, vous pouvez écrire comme ceci

Recommandations associées :
router.get(&#39;/&#39;, function(req, res, next) {
  //只有当前页面可以获得
  res.io.on(&#39;connection&#39;, function(socket) {
    socket.emit(&#39;news&#39;, {
      hello: &#39;world&#39;
    });
    socket.on(&#39;my other event&#39;, function(data) {
      console.log(data);
    });
  });
  //所有页面都可以获得
  var io = require("../app").io;
  io.emit("news",{hello:"myworld"});
  res.render("pclogin.ejs", {});
});
Copier après la connexion

À propos de la solution au problème selon lequel le serveur de déploiement WebSocket ne peut pas se connecter au réseau externe

Introduction détaillée à websocket en php

nodejs+websocket remplit une fonction de système de chat

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal