Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Cara menggunakan pelayan sembang nodejs
Dengan perkembangan Internet, bilik sembang telah menjadi bentuk interaksi sosial yang sangat biasa. Jadi bagaimana anda boleh membuat pelayan sembang dengan cepat dan mudah dengan Node.js? Dalam artikel ini, saya akan memperkenalkan kaedah pelaksanaan pelayan bilik sembang berdasarkan Node.js.
Node.js ialah persekitaran masa jalan JavaScript sisi pelayan sumber terbuka berdasarkan enjin V8. Ia boleh digunakan untuk membina aplikasi web berprestasi tinggi dan berskala dengan cepat. Untuk senario aplikasi masa nyata seperti bilik sembang, Node.js sudah pasti pilihan yang sangat sesuai.
Pertama, kita perlu menggunakan perpustakaan untuk membantu kita membina bilik sembang. Yang lebih popular pada masa ini ialah Socket.io, yang boleh terus mewujudkan sambungan WebSocket antara penyemak imbas dan pelayan. Jika projek anda perlu berkomunikasi dengan berbilang penyemak imbas, maka Socket.io sudah pasti merupakan pilihan yang sangat baik.
Seterusnya, kita perlu mencipta pelayan Node.js. Kita boleh menggunakan rangka kerja Express untuk mencipta pelayan HTTP yang mudah. Dalam contoh ini, kami menggunakan Express 4.x.
const app = require('express')(); const http = require('http').createServer(app);
Seterusnya, kita perlu menggunakan Socket.io untuk berkomunikasi dengan penyemak imbas. Socket.io boleh dimulakan menggunakan io
:
const io = require('socket.io')(http);
Di sini kami mengaitkan io
dengan pelayan HTTP.
Seterusnya, kita perlu menyediakan pelayan untuk membalas permintaan sambungan penyemak imbas. Kami boleh menggunakan kaedah io.on
untuk mendengar permintaan sambungan penyemak imbas.
io.on('connection', (socket) => { console.log('user connected'); socket.on('disconnect', () => { console.log('user disconnected'); }); });
Dalam coretan kod ini, kami mencetak mesej untuk menunjukkan bahawa pengguna disambungkan ke pelayan. Kami juga mendengar peristiwa putus sambungan penyemak imbas. Jika pengguna memutuskan sambungan, kami akan mencetak mesej keluar pada konsol.
Bagaimana untuk menghantar mesej dari satu penyemak imbas ke pelayar yang lain?
Pertama, kita perlu menghantar mesej ke pelayan. Kita boleh menggunakan kaedah socket.emit
untuk menghantar mesej.
socket.emit('chat message', 'Hello World!');
Dalam fungsi ini, kami menghantar mesej Hello World!
kepada semua pelayar yang telah mewujudkan sambungan dengan pelayan. Dengan mendengar acara chat message
, kami boleh mengemas kini sejarah sembang pada penyemak imbas apabila mesej diterima.
socket.on('chat message', (msg) => { console.log('message: ' + msg); });
Akhir sekali, kita perlu mengikat pelayan ke port supaya kita boleh mengakses ruang sembang melalui port ini. Port boleh diikat menggunakan kaedah http.listen
.
http.listen(3000, () => { console.log('listening on *:3000'); });
Di sini kami mendengar sambungan daripada mana-mana alamat IP pada nombor port 3000
.
Pada ketika ini, kami telah berjaya mencipta pelayan bilik sembang menggunakan Node.js dan Socket.io. Pendekatan ini boleh digunakan untuk kedua-dua aplikasi masa nyata yang besar dan aplikasi masa nyata yang lebih kecil. Anda boleh mengubah suai pelayan mengikut keperluan anda untuk mencapai lebih banyak fungsi.
Selepas melaksanakan bahagian pelayan, anda boleh berinteraksi dengan pelayan dengan mencipta aplikasi bahagian hadapan. Anda boleh menggunakan perpustakaan seperti Vue, Angular, React, dsb. untuk mencipta aplikasi bahagian hadapan anda. Dalam aplikasi bahagian hadapan, anda perlu melaksanakan fungsi seperti mewujudkan sambungan dengan pelayan, menghantar dan menerima mesej, dan sebagainya.
Ringkasnya, Node.js menyediakan ekosistem pembangunan yang sangat besar dan sangat baik, dan sangat mudah untuk menggunakannya untuk melaksanakan bilik sembang. Pustaka Socket.io menyediakan kami cara yang pantas dan boleh dipercayai untuk mewujudkan komunikasi masa nyata dengan penyemak imbas.
Atas ialah kandungan terperinci Cara menggunakan pelayan sembang nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!