Maison >interface Web >js tutoriel >Construire un système de messagerie instantanée basé sur socket.io et node.js_node.js
Créez un serveur websocket en utilisant socket.io et nodejs
socket.io peut non seulement créer des services Websocket côté client, mais prend également en charge les websockets côté serveur nodejs.
Permettez-moi de vous présenter comment installer et configurer nodejs.
Allez sur http://nodejs.org/#download pour télécharger le fichier msi. Continuez à cliquer sur suivant pour installer. Le fichier final sera automatiquement installé dans le répertoire C:nodejs.
Une fois l'installation terminée, les variables d'environnement seront automatiquement configurées. S'il n'y a pas de configuration automatique, ajoutez manuellement ;C:nodejs au chemin.
Une fois l'installation terminée, npm doit être configuré pour gérer les modules node.js.
L'installation de npm sous Windows nécessite l'installation de git.
Après avoir installé git, ouvrez gitbush. Suivez ces étapes :
git config --system http.sslcainfo /bin/curl-ca-bundle.crt git clone --recursive git://github.com/isaacs/npm.git cd npm node cli.js install npm -gf
La première étape consiste à configurer sans aucune invite. La deuxième étape consiste à télécharger npm depuis github et il y aura des fichiers de téléchargement et une progression. La quatrième étape consiste à installer npm sur node.js et à copier plusieurs fichiers cmd et. fichiers mode_modules. Découpez-le dans le répertoire nodejs.
Cela configurera npm.
Si vous devez installer des modules, entrez directement npm install ***.
Ceux qui n'utilisent pas npm ou Windows peuvent utiliser github pour télécharger socket.io et le placer dans le dossier node_modules. Pour une configuration spécifique, veuillez vous référer à l'article : "Tutoriel Nodejs : Configuration de la structure de répertoire Windows de Nodejs.exe" <.>
installation de nodejs socket.ioUtilisez le plug-in de nœud pour gérer le package et exécutez la commande suivante pour installer avec succès socket.io
npm install socket.io
Code client :
<html> <head> <title></title> <script src="../js/socket.io.client.js"></script> <script type="text/javascript"> function doit() { var socket = io.connect('http://localhost'); socket.on('news', function (data) {//接收到服务器发送过来的名为'new'的数据 console.log(data.hello);//data为应服务器发送过来的数据。 socket.emit('my new event', { my:'new data' });//向服务器发送数据,实现双向数据传输 }); socket.on('other', function (data) {//接收另一个名为'other'数据, console.log(data.hello); socket.emit('event1', { my:'other data' }); }); } </script> </head> <body> <button id='btn' onclick="doit()">click me</button> </body> </html>
https://github.com/LearnBoost/socket.io-client, et pointez vers lui dans adc1155061279776b3f669ae9a3b7ec8 Bibliothèque Machine js.
Le serveur est implémenté avec nodejsserveur2.js
var http= require('http'), io= require('socket.io'), express= require('express'); var app = express.createServer(), io = io.listen(app); app.listen(80); io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' });//监听,一旦客户端连接上,即发送数据,第一个参数'new'为数据名,第二个参数既为数据 socket.on('my other event', function (data) {//捕获客户端发送名为'my other event'的数据 console.log(data.my); }); socket.emit('other', { hello: 'other world' });//发送另一个数据 socket.on('evnet1', function (data) {//捕获另外一个数据 console.log(data.my); }); });
Résultats d'affichage côté serveur :
C:javaNodejs>node server2.js
Remarque : le code doit être dans le même répertoire que npm_module. Sinon, il y aura une erreur indiquant que le module socket.io est introuvable.