Perbezaan: 1. nodejs ialah persekitaran berjalan JS, manakala WebSocket ialah protokol komunikasi 2. nodejs digunakan untuk membina aplikasi rangkaian dengan mudah dengan kelajuan tindak balas yang pantas dan pengembangan yang mudah, manakala WebSocket boleh membuat pertukaran Data pelanggan; dengan pelayan menjadi lebih mudah, membolehkan pelayan menolak data secara aktif kepada klien.
Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.
Apakah itu nodejs
Node ialah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8, platform pembangunan yang membenarkan JavaScript berjalan pada pelayan. Digunakan untuk membina aplikasi rangkaian dengan mudah dengan tindak balas yang cepat dan pengembangan yang mudah. Node menggunakan model I/O yang dipacu peristiwa dan tidak menyekat untuk menjadi ringan dan cekap, menjadikannya ideal untuk menjalankan aplikasi masa nyata intensif data pada peranti yang diedarkan.
Node menggunakan seni bina yang dipanggil "gelung peristiwa", menjadikannya mudah dan selamat untuk menulis pelayan yang sangat berskala. Terdapat pelbagai teknik untuk meningkatkan prestasi pelayan. Node telah memilih seni bina yang boleh meningkatkan prestasi dan mengurangkan kerumitan pembangunan. Ini adalah ciri yang sangat penting. Pengaturcaraan serentak selalunya rumit dan penuh dengan periuk api. Nod memintas ini tetapi masih memberikan prestasi yang hebat.
Node menggunakan satu siri perpustakaan "tidak menyekat" untuk menyokong gelung acara. Pada asasnya, ia menyediakan antara muka untuk sumber seperti sistem fail dan pangkalan data. Apabila menghantar permintaan kepada sistem fail, tidak perlu menunggu cakera keras (untuk menangani dan mendapatkan semula fail Antara muka tidak menyekat akan memberitahu Node apabila cakera keras sudah sedia). Model ini memudahkan akses kepada sumber yang perlahan dengan cara berskala yang intuitif dan mudah difahami. Terutama bagi pengguna yang biasa dengan acara DOM seperti onmouseover dan onclick, mereka akan berasa biasa.
Walaupun membiarkan Javascript berjalan di bahagian pelayan bukanlah ciri unik Node, ia adalah salah satu ciri hebatnya. Kita harus mengakui bahawa persekitaran pelayar mengehadkan kebebasan kita untuk memilih bahasa pengaturcaraan. Sebarang keinginan untuk berkongsi kod antara pelayan dan aplikasi klien pelayar yang semakin kompleks hanya boleh dicapai melalui Javascript. Walaupun terdapat platform lain yang menyokong Javascript berjalan di bahagian pelayan, Node telah berkembang pesat dan menjadi platform de facto kerana ciri-ciri di atas.
15 senario aplikasi Nodejs
Kami mempunyai pemahaman awal tentang Nodejs, mari kita lihat senario aplikasi Nodejs.
1 Pembangunan web: Express EJS Mongoose/MySQL
express ialah rangka kerja aplikasi web Nodejs yang ringan dan fleksibel yang boleh membina tapak web dengan pantas. Rangka kerja Express dibina pada modul Http terbina dalam Nodejs dan membungkus semula modul Http untuk melaksanakan fungsi pemprosesan permintaan Web.
ejs ialah enjin templat Javascript terbenam yang menjana kod HTML melalui kompilasi.
mongoose ialah alat model objek MongoDB Melalui rangka kerja Mongoose, anda boleh mengakses MongoDB.
mysql ialah API komunikasi yang bersambung ke pangkalan data MySQL dan boleh digunakan untuk mengakses MySQL.
Biasanya Nodejs digunakan untuk pembangunan web, yang memerlukan tiga rangka kerja untuk digunakan bersama, sama seperti SSH dalam Java.
2 pembangunan REST: Restify
resify ialah rangka kerja aplikasi REST berdasarkan Nodejs, pelayan sokongan dan klien. Restify lebih memfokuskan pada perkhidmatan REST daripada ekspres, mengalih keluar templat, render dan fungsi lain dalam ekspres Pada masa yang sama, ia mengukuhkan penggunaan protokol REST, sokongan versi dan pengendalian pengecualian HTTP.
3 Bilik Sembang Web (IM): Express http://Socket.io
socket.io ialah perisian berdasarkan seni bina Nodejs dan menyokong protokol websocket untuk komunikasi masa nyata. Beg. Socket.io menyediakan pakej lengkap untuk membina aplikasi masa nyata merentas pelayar Socket.io dilaksanakan sepenuhnya oleh JavaScript.
4 perangkak web: Cheerio/Request
cheerio ialah kit alat fungsi teras jQuery yang pantas, fleksibel dan merangkum yang disesuaikan khas untuk pelayan. Cheerio termasuk subset jQuery teras, menghilangkan semua ketidakkonsistenan DOM dan ketidakserasian pelayar daripada perpustakaan jQuery, mendedahkan APInya yang benar-benar elegan. Cheerio berfungsi pada model DOM yang sangat mudah dan konsisten, menjadikan penghuraian, manipulasi dan pemaparan sangat cekap. Penanda aras hujung ke hujung asas menunjukkan bahawa Cheerio adalah lebih kurang lapan kali (8x) lebih pantas daripada JSDOM. Cheerio merangkum htmlparser yang serasi @FB55 dan boleh menghuraikan hampir semua dokumen HTML dan XML.
5 Blog Web: Hexo
Hexo ialah rangka kerja blog statik yang ringkas, ringan dan statik berdasarkan Node. Melalui Hexo kita boleh membuat blog kita sendiri dengan cepat, yang boleh disiapkan dengan hanya beberapa arahan.
Apabila dikeluarkan, Hexo boleh digunakan pada pelayan Nod anda sendiri atau pada github. Bagi pengguna individu, menggunakan GitHub mempunyai banyak faedah Ia bukan sahaja dapat menjimatkan kos pelayan, tetapi juga mengurangkan masalah pelbagai operasi dan penyelenggaraan sistem (pengurusan sistem, sandaran, rangkaian). Oleh itu, tapak peribadi berdasarkan github mula menjadi popular...
6 Forum web: nodeclub
Node Club ialah perisian komuniti baharu yang dibangunkan dengan Node.js dan MongoDB, dengan elegan antara muka dan fungsi berkuasa Kaya, padat dan pantas, ia telah digunakan dalam komuniti teknikal Cina Node.js CNode, tetapi anda boleh menggunakannya untuk membina komuniti anda sendiri.
7 Slaid Web: Cleaver
Cleaver boleh menjana persembahan berdasarkan Markdown. Jika anda sudah mempunyai dokumen Markdown, anda boleh membuat tayangan slaid dalam masa 30 saat. Cleaver adalah alat untuk penggodam.
8 Platform pengurusan pakej bahagian hadapan: bower.js
Bower ialah alat pengurusan pakej yang dilancarkan oleh twitter Berdasarkan idea modular nodejs, fungsi-fungsi tersebut tersebar ke dalam pelbagai modul , supaya modul dan Terdapat hubungan antara modul, dan Bower digunakan untuk menguruskan hubungan ini antara modul.
Pengesahan 9 OAuth: Pasport
Projek Pasport ialah perisian tengah pengesahan berdasarkan Nodejs. Tujuan Pasport hanyalah untuk "pengesahan log masuk". Oleh itu, kod itu bersih, mudah diselenggara, dan boleh disepadukan dengan mudah ke dalam aplikasi lain. Aplikasi web biasanya mempunyai dua bentuk pengesahan log masuk: log masuk pengesahan nama pengguna dan kata laluan, dan log masuk pengesahan OAuth. Pasport boleh mengkonfigurasi mekanisme pengesahan yang berbeza berdasarkan ciri-ciri aplikasi. Artikel ini akan memperkenalkan log masuk yang disahkan dengan nama pengguna dan kata laluan.
10 alat tugas berjadual: kemudian
Nanti ialah perpustakaan alat berdasarkan Nodejs yang melaksanakan tugas berjadual dengan cara yang paling mudah. Kemudian boleh dijalankan dalam Node dan penyemak imbas.
11 alatan persekitaran penyemak imbas: browserify
Kemunculan Browserify membolehkan modul Nodejs dijalankan dalam penyemak imbas, gunakan format sintaks require() untuk mengatur kod bahagian hadapan dan memuatkan modul npm. Dalam penyemak imbas, kod yang disusun dengan memanggil browserify juga ditulis dalam teg
Operasi menggunakan Browserify terbahagi kepada 3 langkah. 1. Tulis program atau modul nod, 2. Gunakan Browserify untuk menyusunnya terlebih dahulu ke dalam bundle.js, 3. Muatkan bundle.js dalam halaman HTML.
12 Alat pengaturcaraan baris perintah: Komander
komander ialah modul nodejs ringan yang menyediakan fungsi berkuasa untuk input baris arahan pengguna dan penghuraian parameter. Komander berasal daripada projek Ruby dengan nama yang sama. Ciri komander: kod rakaman sendiri, menjana bantuan secara automatik, menggabungkan parameter pendek ("ABC" == "-A-B-C"), pilihan lalai, pilihan mandatori, penghuraian arahan dan gesaan.
13 Alat konsol web: tty.js
tty.js ialah tetingkap baris arahan yang menyokong berjalan dalam penyemak imbas Ia berdasarkan platform node.js dan bergantung pada soket. perpustakaan io melalui websocket berkomunikasi dengan sistem Linux. Ciri-ciri: menyokong model tetingkap berbilang tab;
14 alatan aplikasi klien: node-webwit
Node-Webkit ialah gabungan teknologi NodeJS dan WebKit, menyediakan rangka kerja asas untuk pembangunan aplikasi pelanggan merentas platform Windows dan Linux, memanfaatkan platform A yang popular untuk menulis aplikasi menggunakan teknologi web (Node.JS, JavaScript, HTML5). Pembangun aplikasi boleh memanfaatkan teknologi Web dengan mudah untuk melaksanakan pelbagai aplikasi. Prestasi dan ciri Node-Webkit telah menjadikannya platform aplikasi teknologi web terkemuka di dunia.
15 Sistem pengendalian: node-os
NodeOS ialah sistem pengendalian mesra yang dibangunkan menggunakan NodeJS Sistem pengendalian sepenuhnya dibina pada kernel Linux dan menggunakan shell dan NPM Untuk pengurusan pakej, NodeJS boleh bukan sahaja melaksanakan pengurusan pakej dengan baik, tetapi juga mengurus skrip, antara muka, dsb. dengan baik. Pada masa ini, kedua-dua Docker dan Vagrant dibina dengan versi pertama NodeOS.
Apakah itu websocket?
WebSocket ialah protokol untuk komunikasi dupleks penuh melalui satu sambungan TCP. Protokol komunikasi WebSocket telah ditetapkan sebagai RFC 6455 standard oleh IETF pada tahun 2011, dan telah ditambah dengan RFC7936. API WebSocket juga telah ditetapkan sebagai standard oleh W3C.
WebSocket menjadikan pertukaran data antara klien dan pelayan lebih mudah, membolehkan pelayan menolak data secara aktif kepada klien. Dalam API WebSocket, penyemak imbas dan pelayan hanya perlu melengkapkan jabat tangan, dan sambungan berterusan boleh dibuat terus antara kedua-duanya untuk penghantaran data dua hala.
Apa yang boleh dilakukan oleh WebSocket?
1) Fungsi pemberitahuan:
Kekalkan sambungan yang panjang Apabila pelayan menghantar mesej baharu, ia boleh ditolak kepada pengguna dalam masa nyata. Seperti pemberitahuan, ulasan, dsb. pada Zhihu semuanya boleh menggunakan komunikasi WebSocket.
Sesetengah pelanggan yang menggunakan H5, untuk memudahkan pembangunan, juga akan menggunakan WebSocket untuk pemberitahuan mesej Memandangkan ia ditolak dalam masa nyata, ia akan mempunyai pengalaman pengguna yang lebih baik.
2) Pengumpulan data:
Sesetengah data sub-optimum, seperti log tingkah laku, surih, pengumpulan tindanan pelaksanaan pengecualian, dll., boleh membuka saluran WebSocket khas untuk penghantaran. Ini boleh meningkatkan kepekatan maklumat dan menolak konfigurasi yang sesuai berdasarkan tingkah laku pengguna tepat pada masanya. Ia akan menjadikan model pengaturcaraan APM sisi pelanggan mudah kerana ia disokong oleh kebanyakan kernel pelayar.
3) Penyulitan && Pengesahan:
Walaupun menggunakan Fiddler, Charles, dsb. boleh menangkap banyak pakej WebSocket. Walau bagaimanapun, jika SSL dihidupkan pada masa yang sama dan data binari yang disulitkan dihantar, kos pemecahan akan meningkat dengan banyak dan ia akan menjadi lebih selamat.
4) Cangkuk kawalan songsang:
Ini... Kerana ia adalah sambungan panjang dupleks, pelayan boleh menolak beberapa arahan cangkuk, atau pun kod terus, untuk pelaksanaan pada klien. Contohnya, ambil tangkapan skrin, rakam suara atau ternakkan kuda. Selagi pengguna melepasi aplikasi kebenaran, selebihnya terpulang kepada anda.
Perbezaan antara nodej dan soket web
Perbezaan 1:
Node ialah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8, platform pembangunan yang membolehkan JavaScript dijalankan pada pelayan.
WebSocket ialah protokol untuk komunikasi dupleks penuh melalui satu sambungan TCP.
Perbezaan 2:
Nod digunakan untuk membina aplikasi rangkaian dengan mudah dengan tindak balas pantas dan pengembangan mudah.
WebSocket menjadikan pertukaran data antara klien dan pelayan lebih mudah, membolehkan pelayan menolak data secara aktif kepada klien.
Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs! !
Atas ialah kandungan terperinci Apakah perbezaan antara nodejs dan websocket. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!