Artikel untuk bercakap tentang modul bersih dalam Node
Modul bersih disediakan dalam Node.js, yang menyediakan enkapsulasi dan sokongan untuk TCP dan Socket. Artikel ini akan memperkenalkan anda kepada modul bersih dalam Node.
Apabila saya menonton tutorial sebelum ini, banyak yang bermula dari IO, penimbal, laluan, acara, fs, proses, mekanisme gelung peristiwa nod ini memang yang utama kebergantungan pembangunan yang bergantung kepada pembangunan nod Tetapi saya agak bimbang Dari masa saya belajar tentang nod, ini bermakna nod boleh melakukan bahagian belakang, tetapi separuh pertama kursus ini adalah mengenai keupayaan yang dimilikinya, iaitu, bagaimana. untuk berkomunikasi dengan pelanggan pada akhirnya. Pengenalan kepada modul komunikasi pelanggan.
Saya berasa sangat tidak selesa, jadi apabila saya menulis ringkasan saya sendiri, saya mesti menulis modul yang berkomunikasi antara pelayan dan pelanggan terlebih dahulu untuk berasa selesa. Walaupun modul acara dan modul fs terlibat dalam proses Anda boleh mengetepikan mata pengetahuan buat sementara waktu dan hanya memahami bagaimana modul net
melaksanakan komunikasi secara keseluruhan >1. Model protokol tujuh lapisan OSI
Nak belajar Untuk memahami modul komunikasi, anda perlu memahami model komunikasi rangkaian Jika anda ingin mengingati model komunikasi rangkaian, anda perlu berlatih ia untuk membantu ingatan Ini adalah fokus temu bual Terdapat banyak kandungan dalam bidang ini Jika anda ingin mempunyai pemahaman yang mendalam, ia adalah perlu Pembelajaran sistematik . [Tutorial berkaitan yang disyorkan: tutorial video nodejs
,Pengajaran pengaturcaraan]Hantar gambar lama ini:
Untuk bahagian hadapan kami, kami perlu mengingati hasil sistem suite protokol TCP/IP.
- Lapisan pengangkutan: TCP/ UDP
- Lapisan Internet: IP, ICMP (ialah Lapisan IP protokol aksesori)
- Lapisan pautan data: PPP, SLIP
- Lapisan fizikal: Rangkaian mempunyai pasangan terpiuh, kabel sepaksi, Gentian optik dan lain-lain kaedah penghantaran mengikut spesifikasi ISO2110
- Dari protokol yang bergantung kepada protokol IP ini, kita boleh tahu bahawa tidak perlu terlalu berat tentang pelapisan protokol rangkaian .
ICMP
ICMP
Kluster protokol TCP/IP bukan sahaja merujuk kepada protokol TCP dan IP, tetapi kerana kedua-dua protokol ini terlalu keluar dari bulatan, TCP/IP. digunakan untuk merujuk secara kolektif kepada koleksi protokol yang berkaitan dengan Internet Juga Terdapat cara lain untuk mengatakan ia adalah nama kolektif untuk keluarga protokol yang digunakan dalam penggunaan protokol TCP/IP.
Aliran penghantaran antara klien dan pelayan adalah seperti berikut
Jika aksara menjadi dan
发送者
接受者
Ia dapat dilihat bahawa semasa proses penghantaran, dari penghantaran bermula dari akhir penerimaan, maklumat header yang diperlukan akan ditambah tanpa melalui lapisan protokol dan pengekodan lapisan demi lapisan. Kemudian apabila ia datang ke bahagian penerima, ia akan melakukan sebaliknya, menanggalkan pengepala yang sepadan selepas setiap lapisan Hanya tunggu sehingga tamat data HTTP.
Gambar di atas adalah daripada "Illustrated HTTP"
Ragu: Mengapa ia ada dalam buku Selepas menggabungkan hasil sistem OSI ke dalam Protokol lima lapisan TCP/IP di banyak tempat, adakah nama lapisan rangkaian akan menjadi lapisan Internet?Di atas ialah model protokol rangkaian umum.
2. Sambungan TCP
Jabatan tangan pertama: Pelanggan menghantar bit bendera SYN (nombor jujukan ialah J) ke pelayan, dan memasuki keadaan SYN_SENT (menunggu pengesahan daripada pelayan)
J dan K digunakan untuk menentukan siapa yang meminta Tiada perbezaan dalam struktur SYN dan ACK. tetapi objek yang dihantar adalah berbeza .
3. Modul bersih
ialah pelaksanaan khusus sambungan TCP di atas.
Pertama sekali, untuk mempelajari API, anda masih disyorkan untuk pergi terus ke dokumentasi rasmi Kandungan dokumentasi Cina bukan versi terkini
bila belajar, Setiap kali saya ada masa untuk membaca dokumen Bahasa Inggeris, saya cuba membaca dokumen Bahasa Inggeris Saya telah menegaskan perkara ini selama setengah tahun saya tidak tahan pada mulanya, tetapi sekarang saya boleh menahan ketidakselesaan dan membacanya Kemajuan telah jelas dalam setengah tahun Dan Ketidakselesaan seperti ini adalah perkara yang baik, ini bermakna bahawa ini bukan zon selesa anda sumber kemajuanSeterusnya, mari kita ke intinya Memandangkan anda ingin mempelajari komunikasi, maka Kami memerlukan dua objek untuk mensimulasikan klien dan pelayan masing-masing . Cipta melalui baris arahan:
client.js
service.js
touch client.js && touch service.js
Perkenalkan modul , biarkan pelayan memasuki keadaan
, konfigurasikan nombor port dan alamat HOST (langkau proses resolusi DNS secara manual), dan tunggu panggilan pelanggannet
LISTENT
Pada masa ini, pelayan sepadan dengan status pelayan
const net = require("net"); const post = 3306; const host = "127.0.0.1"; const server = net.createServer(); server.listen(post, host);
kemudian memantau beberapa acara yang diperlukan, iaitu cangkuk yang disediakan oleh pelayan (Milik pengetahuan berkaitan acara) LISTEN
Rentetan kod di atas melibatkan,
server.on("listening", () => { console.log("服务器已经可以连接啦"); }); server.on("connection", (socket) => { console.log("有客户端来访咯"); }); server.on("close", () => { console.log("服务器关闭了"); }); server.on("error", (error) => { console.log("服务器出错啦: ", error); // error 有错误的信息 });
listening
: peristiwa dicetuskan apabila pelanggan melawatconnection
: Dicetuskan oleh penutupan pelayan-
close
: Dicetuskan oleh ralat pelayan error
Untuk kita perlu ambil perhatian bahawa abang latar biasanya secara langsung
close
Diproses dengan membunuh benang
ps kill -9 pid
Gouzi, parameter formal ialah nama soket Terjemahan bahasa Cinanya ialah perkataan bersarang, yang dirangkumkan oleh nod ke dalam aliran (Strim). data itu sendiri mempunyai kaedah tersendiri. Saya memproses
dalamconnection
connection
socket
server.on("connection", (socket) => { console.log("有客户端来访咯"); socket.on("data", (data) => { console.log(data); // 客户端发送过来的数据 }); });
Memandangkan pelayan boleh menerima data yang dihantar oleh pelanggan, ia secara semula jadi boleh membalas kepada pelanggan Tulis dalam
(sudah tentu ia juga boleh Ditulis di luar):
socket.on
Pada masa ini, jika pelanggan telah selesai menerima data. dan kemudian menutup sambungan. Kami juga boleh mendengarnya melalui cangkuk
socket.write("我已经收到你的服务器了哦,客户端");
socket.on('close‘)
Masukkan ringkasan
socket.on("close", () => { console.log("客户端把另外一头的流给关了"); });
adalah seperti berikut: socket
client.js
service.js
const net = require("net"); const post = 3306; const host = "127.0.0.1"; const server = net.createServer(); server.listen(post, host); server.on("listening", () => { console.log("服务器已经可以连接啦"); }); server.on("connection", (socket) => { console.log("有客户端来访咯"); socket.on("data", (data) => { console.log(data); // 客户端发送过来的数据 socket.write("我已经收到你的服务器了哦,客户端"); }); socket.on("close", () => { console.log("客户端把另外一头的流给关了"); server.close(); // 客户端已经不要数据了,那么我们就把服务器给关闭了吧 }); }); server.on("close", () => { console.log("服务器关闭了"); }); server.on("error", (error) => { console.log("服务器出错啦: ", error); // error 有错误的信息 });
Pihak pelanggan adalah lebih mudah.
Ringkasan peristiwa
const net = require("net"); const post = 3306; const host = "127.0.0.1"; const socket = net.connect(post, host); socket.on("connect", () => { console.log("已经连接到服务器了哦"); }); socket.write("服务器, 我来了"); socket.on("data", (data) => { console.log(data.toString()); socket.end(); }); socket.on("close", () => { console.log("连接已关闭了"); });
socket
connect
: Menerima parameter yang dihantar oleh pelayan-
data
: Boleh dicetuskan selepas penerimaan data selesai end
: Dicetuskan oleh penutupan soket Jalankannya pada terminal:close
Lihat hasil cetakan sendiri.
service.js
Artikel ini diterbitkan semula daripada: https://juejin.cn/post/7084618854801866765client.js
node service.js node client.js
tutorial nodejs
!Atas ialah kandungan terperinci Artikel untuk bercakap tentang modul bersih dalam Node. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Artikel ini akan memberi anda pemahaman yang mendalam tentang memori dan pengumpul sampah (GC) enjin NodeJS V8 saya harap ia akan membantu anda!

Perkhidmatan Node yang dibina berdasarkan bukan sekatan dan dipacu peristiwa mempunyai kelebihan penggunaan memori yang rendah dan sangat sesuai untuk mengendalikan permintaan rangkaian besar-besaran. Di bawah premis permintaan besar-besaran, isu yang berkaitan dengan "kawalan memori" perlu dipertimbangkan. 1. Mekanisme kutipan sampah V8 dan had ingatan Js dikawal oleh mesin kutipan sampah

Bagaimana untuk mengendalikan muat naik fail? Artikel berikut akan memperkenalkan kepada anda cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod saya harap ia akan membantu anda!

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Artikel ini akan berkongsi dengan anda alat pengurusan proses Node "pm2", dan bercakap tentang mengapa pm2 diperlukan, cara memasang dan menggunakan pm2, saya harap ia akan membantu semua orang!

Modul fail ialah enkapsulasi operasi fail asas, seperti membaca/menulis/membuka/menutup/memadam fail, dsb. Ciri terbesar modul fail ialah semua kaedah menyediakan dua versi **segerak** dan ** asynchronous**, dengan Kaedah dengan akhiran penyegerakan adalah semua kaedah penyegerakan, dan kaedah yang tidak semuanya adalah kaedah heterogen.

Gelung peristiwa ialah bahagian asas Node.js dan mendayakan pengaturcaraan tak segerak dengan memastikan bahawa utas utama tidak disekat Memahami gelung peristiwa adalah penting untuk membina aplikasi yang cekap. Artikel berikut akan memberi anda pemahaman yang mendalam tentang gelung acara dalam Node.

Pengesahan adalah salah satu bahagian terpenting dalam mana-mana aplikasi web. Tutorial ini membincangkan sistem pengesahan berasaskan token dan cara ia berbeza daripada sistem log masuk tradisional. Pada penghujung tutorial ini, anda akan melihat demo berfungsi sepenuhnya yang ditulis dalam Angular dan Node.js. Sistem Pengesahan Tradisional Sebelum beralih kepada sistem pengesahan berasaskan token, mari kita lihat sistem pengesahan tradisional. Pengguna memberikan nama pengguna dan kata laluan mereka dalam borang log masuk dan klik Log Masuk. Selepas membuat permintaan, sahkan pengguna di bahagian belakang dengan menanyakan pangkalan data. Jika permintaan itu sah, sesi dibuat menggunakan maklumat pengguna yang diperoleh daripada pangkalan data dan maklumat sesi dikembalikan dalam pengepala respons supaya ID sesi disimpan dalam penyemak imbas. Menyediakan akses kepada aplikasi tertakluk kepada
