ubuntu

Ubuntu下Node.js如何进行网络编程

小樊
43
2025-10-11 18:02:44
栏目: 编程语言

在Ubuntu下使用Node.js进行网络编程,通常是指创建TCP或UDP服务器和客户端。Node.js提供了内置的net模块来创建TCP服务器和客户端,以及dgram模块来创建UDP服务器和客户端。以下是一些基本的示例和步骤,帮助你开始在Ubuntu上进行网络编程。

安装Node.js

首先,确保你的Ubuntu系统上安装了Node.js。如果没有安装,可以通过以下命令安装:

sudo apt update
sudo apt install nodejs
sudo apt install npm

创建TCP服务器

使用net模块创建一个简单的TCP服务器:

const net = require('net');

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

  socket.write('你好,客户端!\n');

  socket.on('data', (data) => {
    console.log(`收到客户端消息: ${data}`);
    socket.write(`服务器回复: ${data}`);
  });

  socket.on('end', () => {
    console.log('客户端已断开连接');
  });
});

server.listen(3000, () => {
  console.log('TCP服务器监听端口3000');
});

保存上述代码到一个文件中,例如tcp_server.js,然后在终端运行:

node tcp_server.js

创建TCP客户端

使用net模块创建一个简单的TCP客户端:

const net = require('net');

const client = net.createConnection({ port: 3000 }, () => {
  console.log('已连接到服务器');
  client.write('你好,服务器!');
});

client.on('data', (data) => {
  console.log(`收到服务器消息: ${data}`);
  client.end();
});

client.on('close', () => {
  console.log('已断开与服务器的连接');
});

保存上述代码到一个文件中,例如tcp_client.js,然后在另一个终端运行:

node tcp_client.js

创建UDP服务器

使用dgram模块创建一个简单的UDP服务器:

const dgram = require('dgram');

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

server.on('listening', () => {
  const address = server.address();
  console.log(`UDP服务器监听 ${address.address}:${address.port}`);
});

server.on('message', (msg, rinfo) => {
  console.log(`收到来自 ${rinfo.address}:${rinfo.port} 的消息: ${msg}`);
  server.send(`服务器回复: ${msg}`, rinfo.port, rinfo.address);
});

server.bind(3001);

保存上述代码到一个文件中,例如udp_server.js,然后在终端运行:

node udp_server.js

创建UDP客户端

使用dgram模块创建一个简单的UDP客户端:

const dgram = require('dgram');

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

const message = Buffer.from('你好,UDP服务器!');
client.send(message, 3001, 'localhost', (err) => {
  if (err) throw err;
  console.log('消息已发送');
});

client.on('message', (msg, rinfo) => {
  console.log(`收到服务器消息: ${msg}`);
  client.close();
});

保存上述代码到一个文件中,例如udp_client.js,然后在另一个终端运行:

node udp_client.js

这些示例展示了如何在Ubuntu下使用Node.js进行基本的网络编程。你可以根据需要扩展这些示例,添加更多的功能和复杂性。

0
看了该问题的人还看了