如何在 Node.js 中使用 net 庫進行 TCP 通信?
Node.js 是一個廣受歡迎的 JavaScript 執行環境,它可以用於開發跨平台的應用程式。Node.js 提供了一個內建的 net 模組,可以讓開發者輕鬆地建立和管理 TCP 連線。本文將介紹如何使用 net 模組來建立和管理 TCP 連線。
建立 TCP 連線
要建立一個 TCP 連線,首先需要建立一個 net.Socket 實例,並將其傳遞給 net.createServer() 方法:
const net = require('net'); const server = net.createServer((socket) => { // 建立連線後的處理程序 }); server.listen(3000);
net.createServer() 方法會傳回一個 net.Server 實例,該實例會在指定的端口上監聽客戶端的連線。
接受客戶端連線
當客戶端建立連線時,會觸發 net.createServer() 方法的回調函數,該回調函數會傳入一個 net.Socket 實例,該實例可以用於管理客戶端的連線。
接收資料
當客戶端傳送資料時,會觸發 net.Socket 實例的 data 事件,該事件會傳入一個 Buffer 實例,該實例包含了客戶端傳送的資料:
const net = require('net'); const server = net.createServer((socket) => { socket.on('data', (data) => { console.log(data.toString()); }); }); server.listen(3000);
傳送資料
要傳送資料給客戶端,可以使用 net.Socket 實例的 write() 方法:
const net = require('net'); const server = net.createServer((socket) => { socket.on('data', (data) => { socket.write('Hello World!'); }); }); server.listen(3000);
關閉連線
要關閉客戶端的連線,可以使用 net.Socket 實例的 end() 方法:
const net = require('net'); const server = net.createServer((socket) => { socket.on('data', (data) => { socket.end('Goodbye!'); }); }); server.listen(3000);
總結
Node.js 提供了一個內建的 net 模組,可以讓開發者輕鬆地建立和管理 TCP 連線。本文介紹了如何使用 net 模組來建立和管理 TCP 連線,包括建立連線、接受客戶端連線、接收資料、傳送資料和關閉連線。