如何在 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 連線,包括建立連線、接受客戶端連線、接收資料、傳送資料和關閉連線。

Categorized in:

Tagged in:

,