Rumah >hujung hadapan web >tutorial js >Bina sistem pemesejan segera berdasarkan socket.io dan node.js_node.js
Bina pelayan soket web menggunakan socket.io dan nodejs
socket.io bukan sahaja boleh membina perkhidmatan websocket sebelah pelanggan, tetapi juga menyokong soket web sebelah pelayan nodejs.
Izinkan saya memperkenalkan cara memasang dan mengkonfigurasi nodej.
Pergi ke http://nodejs.org/#download untuk memuat turun fail msi. Teruskan klik di sebelah untuk memasang. Fail akhir akan dipasang secara automatik dalam direktori C:nodejs.
Selepas pemasangan selesai, pembolehubah persekitaran akan dikonfigurasikan secara automatik. Jika tiada konfigurasi automatik, tambah secara manual ;C:nodejs ke laluan.
Selepas pemasangan selesai, npm perlu dikonfigurasikan untuk mengurus modul node.js.
Memasang npm di bawah tetingkap memerlukan pemasangan git.
Selepas memasang git, buka gitbush. Ikuti langkah ini:
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
Langkah pertama ialah menyediakan tanpa sebarang gesaan Langkah kedua ialah memuat turun npm dari github dan akan ada fail muat turun dan kemajuan Langkah keempat ialah memasang npm ke node.js dan menyalin beberapa fail cmd dan mode_modules Klipkannya ke direktori nodejs.
Ini akan mengkonfigurasi npm.
Jika anda perlu memasang sebarang modul, terus masukkan npm install ***.
Mereka yang tidak mempunyai npm atau pengguna Windows boleh menggunakan github untuk memuat turun socket.io dan memasukkannya ke dalam folder node_modules Untuk konfigurasi khusus, sila rujuk artikel: "Tutorial Nodejs: Mengkonfigurasi Struktur Direktori Windows Nodejs.exe" <.>
soket pemasangan nodejs.ioGunakan pemalam nod untuk mengurus pakej dan jalankan arahan berikut untuk berjaya memasang socket.io
npm install socket.io
Kod pelanggan:
<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 dan tuding kepadanya dalam adc1155061279776b3f669ae9a3b7ec8 Pustaka mesin js.
Pelayan dilaksanakan dengan nodejserver2.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); }); });
Hasil paparan sisi pelayan:
C:javaNodejs>nod server2.js
Nota: Kod mesti berada dalam direktori yang sama dengan npm_module. Jika tidak, akan berlaku ralat bahawa modul socket.io tidak dapat ditemui.