Node.js ialah platform untuk menulis kod sebelah pelayan menggunakan JavaScript. Ia dicirikan dengan cepat, cekap dan ringan. Apabila membangunkan aplikasi berasaskan Node.js, dalam beberapa kes adalah perlu untuk mengesan sama ada sambungan rangkaian adalah normal. Artikel ini akan memperkenalkan beberapa kaedah untuk mengesan status sambungan rangkaian.
Dalam Node.js, anda boleh menggunakan modul child_process untuk melaksanakan arahan. Kita boleh menyemak kesambungan hos sasaran dengan melaksanakan arahan ping. Berikut ialah contoh kod menggunakan arahan ping:
const { exec } = require('child_process'); exec('ping 8.8.8.8', (error, stdout, stderr) => { if (error) { console.error(`执行错误: ${error}`); return; } console.log(`stdout: ${stdout}`); console.error(`stderr: ${stderr}`); });
Kod ini akan mengesan ketersambungan 8.8.8.8 dan mencetak hasilnya ke konsol. Jika hos sasaran boleh dicapai, stdout akan mengandungi output arahan ping. Jika hos tidak dapat dicapai, stderr akan mengandungi mesej ralat. Jika ralat berlaku semasa melaksanakan arahan ping, mesej ralat akan dicetak pada konsol.
Cara lain untuk mengesan status sambungan rangkaian ialah menggunakan permintaan http. Berikut ialah contoh kod menggunakan permintaan http:
const http = require('http'); http.get('http://www.google.com', (resp) => { console.log(`状态码: ${resp.statusCode}`); resp.on('data', (chunk) => { console.log(`响应主体: ${chunk}`); }); }).on("error", (err) => { console.error(`请求错误: ${err.message}`); });
Kod ini akan cuba mengesan status sambungan rangkaian dengan menghantar permintaan http ke www.google.com. Jika kod status respons ialah 200, ia boleh ditentukan bahawa status sambungan rangkaian adalah normal. Jika permintaan gagal, mesej ralat akan dicetak pada konsol.
Kaedah ketiga untuk mengesan status sambungan rangkaian ialah menggunakan sambungan soket. Berikut ialah contoh kod untuk menggunakan sambungan soket:
const net = require('net'); const server = net.createServer((socket) => { socket.write('Echo server\r\n'); socket.pipe(socket); }); server.listen(1337, '127.0.0.1');
Kod ini akan mencipta perkhidmatan soket tempatan dan mendengar sambungan pada port 1337. Jika port berjaya dipantau, ia boleh ditentukan bahawa status sambungan rangkaian adalah normal dan mesej kejayaan boleh dicetak pada konsol. Jika port tidak boleh didengari, mesej ralat akan dicetak pada konsol.
Ringkasan
Di atas ialah beberapa kaedah biasa untuk mengesan status sambungan rangkaian menggunakan Node.js. Status sambungan rangkaian boleh dikesan menggunakan arahan ping, permintaan http atau sambungan soket. Anda boleh memilih kaedah yang sesuai untuk mengesan status sambungan rangkaian mengikut keperluan tertentu.
Atas ialah kandungan terperinci Bagaimanakah nodejs menentukan sama ada rangkaian disambungkan? Analisis ringkas beberapa kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!