了解如何使用Node.js中的net庫進行TCP通信

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