Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > nodejs menutup nombor port

nodejs menutup nombor port

王林
Lepaskan: 2023-05-24 11:50:10
asal
1175 orang telah melayarinya

Node.js ialah platform sumber terbuka untuk menulis aplikasi JavaScript bahagian pelayan Ia cekap, ringan, merentas platform dan sangat berskala, menjadikannya popular di kalangan pembangun. Walau bagaimanapun, apabila menggunakan Node.js untuk membina perkhidmatan, kadangkala perlu menutup atau melepaskan nombor port yang diduduki, yang memerlukan kami menguasai kemahiran yang sepadan.

Artikel ini akan menerangkan cara mematikan nombor port dalam Node.js. Sebelum kita bermula, mari kita semak beberapa asas pengendalian permintaan rangkaian dalam Node.js.

Mengendalikan permintaan rangkaian dalam Node.js

Dalam Node.js, kami boleh mengendalikan permintaan rangkaian melalui modul http, yang menyediakan dua API teras: http.createServer() dan http.request().

http.createServer() digunakan untuk mencipta pelayan HTTP dan menentukan fungsi panggil balik yang akan dilaksanakan apabila pelanggan meminta pelayan Dalam fungsi panggil balik, kami boleh memproses permintaan dan mengembalikan respons yang sepadan; dan http.request() Ia digunakan untuk memulakan permintaan rangkaian Kami boleh menghantar permintaan ke pelayan lain melalui API ini dan memproses responsnya.

Berikut ialah contoh pelayan HTTP yang mudah:

const http = require('http');
const server = http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end('<h1>Hello World</h1>');
});
server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});
Salin selepas log masuk

Dalam contoh di atas, kami mencipta pelayan HTTP dan mendengar pada alamat dengan nombor port 3000. Apabila pelanggan meminta pelayan, kami menetapkan pengepala respons melalui res.writeHead() dan menggunakan res.end() untuk menghantar kandungan kepada klien sebagai badan respons.

Tutup nombor port Node.js

Apabila perkhidmatan kami tidak lagi perlu memproses permintaan rangkaian, atau apabila ia perlu dipindahkan ke nombor port lain, kami perlu menutup atau melepaskan arus nombor port. Jadi bagaimana anda mematikan nombor port dalam Node.js?

Dalam Node.js, kami boleh mematikan pelayan melalui kaedah http.Server.close(). Kaedah ini akan menghentikan pelayan dan melepaskan nombor port yang diduduki. Berikut ialah contoh:

const http = require('http');
const server = http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end('<h1>Hello World</h1>');
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

// 关闭服务
setTimeout(() => {
  server.close(() => {
    console.log('Server closed.');
  });
}, 5000);
Salin selepas log masuk

Dalam contoh di atas, kami menutup pelayan dalam masa 5 saat dari perkhidmatan bermula. Untuk mencapai ini, kami menggunakan setTimeout() untuk menangguhkan operasi penutupan selama 5 saat, kemudian gunakan server.close() dalam fungsi panggil balik untuk menutup pelayan dan mengeluarkan mesej kepada konsol.

Perlu diambil perhatian bahawa apabila menutup pelayan, kita harus menunggu semua sambungan yang belum selesai diproses sebelum menutup pelayan untuk memastikan semua pelanggan berjaya memutuskan sambungan.

Ringkasan

Artikel ini memperkenalkan cara menutup nombor port perkhidmatan dan melepaskan sumber yang sepadan dalam Node.js, merealisasikan pemberhentian dan penutupan perkhidmatan rangkaian. Dalam pembangunan sebenar, kita harus menggunakan modul pemprosesan rangkaian dalam Node.js secara munasabah mengikut keperluan perniagaan untuk meningkatkan prestasi dan kebolehskalaan program.

Atas ialah kandungan terperinci nodejs menutup nombor port. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan