溫馨提示×

Linux下Node.js如何進行網絡編程

小樊
56
2025-06-15 06:55:58
欄目: 編程語言

在Linux下使用Node.js進行網絡編程,通常涉及到創建TCP服務器、TCP客戶端、UDP服務器和UDP客戶端。以下是一些基本的示例:

  1. 創建一個簡單的TCP服務器:
const net = require('net');

const server = net.createServer((socket) => {
  console.log('客戶端已連接');

  socket.on('data', (data) => {
    console.log(`接收到數據: ${data}`);
    socket.write(`服務器回復: ${data}`);
  });

  socket.on('end', () => {
    console.log('客戶端已斷開連接');
  });
});

server.listen(3000, () => {
  console.log('TCP服務器正在監聽端口3000');
});
  1. 創建一個簡單的TCP客戶端:
const net = require('net');
const client = net.createConnection(3000, '127.0.0.1', () => {
  console.log('已連接到TCP服務器');
  client.write('你好,服務器!');
});

client.on('data', (data) => {
  console.log(`接收到數據: ${data}`);
  client.end();
});

client.on('end', () => {
  console.log('已斷開與TCP服務器的連接');
});
  1. 創建一個簡單的UDP服務器:
const dgram = require('dgram');

const server = dgram.createSocket('udp4');

server.on('listening', () => {
  const address = server.address();
  console.log(`UDP服務器正在監聽端口${address.port}`);
});

server.on('message', (msg, rinfo) => {
  console.log(`接收到來自${rinfo.address}:${rinfo.port}的數據: ${msg}`);
  server.send(`服務器回復: ${msg}`, rinfo.port, rinfo.address);
});
  1. 創建一個簡單的UDP客戶端:
const dgram = require('dgram');

const client = dgram.createSocket('udp4');

const message = '你好,UDP服務器!';
client.send(message, 3000, '127.0.0.1', (err) => {
  if (err) {
    console.error(err);
    client.close();
  } else {
    console.log(`已發送數據: ${message}`);
  }
});

client.on('message', (msg, rinfo) => {
  console.log(`接收到來自${rinfo.address}:${rinfo.port}的數據: ${msg}`);
  client.close();
});

要運行這些示例,請將它們分別保存為tcp_server.js、tcp_client.js、udp_server.jsudp_client.js,然后在終端中運行相應的命令:

node tcp_server.js
node tcp_client.js
node udp_server.js
node udp_client.js

這些示例展示了如何在Linux下使用Node.js進行基本的網絡編程。你可以根據自己的需求修改這些示例,以實現更復雜的功能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女