在Debian上使用Node.js進行網絡編程,通常涉及以下幾個步驟:
首先,需要在Debian系統上安裝Node.js和npm(Node包管理器)??梢允褂靡韵旅钔ㄟ^apt包管理器安裝:
sudo apt-get update
sudo apt-get install nodejs npm
以下是一個使用Node.js創建TCP服務器的簡單示例:
const net = require('net');
const server = net.createServer((socket) => {
socket.write('Hello from server!\n');
socket.on('data', (data) => {
console.log(`Received: ${data}`);
socket.write('You said: ' + data);
});
socket.on('end', () => {
console.log('Client disconnected');
});
});
server.listen(3000, () => {
console.log('Server listening on port 3000');
});
將上述代碼保存為server.js,然后使用以下命令運行:
node server.js
現在,服務器將在端口3000上監聽連接。
Node.js的Stream API是處理網絡數據的高效方式。以下是使用Readable和Writable Stream進行網絡編程的示例:
const fs = require('fs');
const readStream = fs.createReadStream('example.txt', { encoding: 'utf8' });
readStream.on('data', (chunk) => {
console.log(`Received: ${chunk}`);
});
const fs = require('fs');
const writeStream = fs.createWriteStream('output.txt');
writeStream.on('finish', () => {
console.log('Data written to file');
});
writeStream.write('Hello, World!');
writeStream.end();
const { Duplex } = require('stream');
class MyDuplex extends Duplex {
_write(chunk, encoding, callback) {
this.push(chunk);
callback();
}
_read(size) {
this.push(null);
}
}
const myDuplex = new MyDuplex();
myDuplex.pipe(fs.createWriteStream('output.txt'));
以上示例展示了如何在Debian上使用Node.js進行基本的網絡編程,包括創建TCP服務器、使用Stream進行數據讀寫操作。