如何用JS在Linux上进行网络编程
在Linux环境下用Ja vaScript做网络编程,Node.js几乎是绕不开的选择。这个基于Chrome V8引擎的运行时,让Ja vaScript真正跑到了服务器端。下面就从最基础的安装开始,一步步演示如何用它搭建HTTP服务器、TCP/UDP服务,以及怎样借助Express框架提升效率。 1
在Linux环境下用Ja vaScript做网络编程,Node.js几乎是绕不开的选择。这个基于Chrome V8引擎的运行时,让Ja vaScript真正跑到了服务器端。下面就从最基础的安装开始,一步步演示如何用它搭建HTTP服务器、TCP/UDP服务,以及怎样借助Express框架提升效率。

1. 安装Node.js
首先得在Linux上把Node.js装好。最简单的方式是用系统自带的包管理器,比如Ubuntu下可以直接这样操作:
sudo apt update
sudo apt install nodejs npm
如果想用最新的版本,可以通过NodeSource的源来安装——毕竟官方仓库里的版本往往偏旧:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
装完后确认一下版本,确保node和npm都能正常调用。
2. 创建一个简单的HTTP服务器
新建一个server.js文件,写入下面的代码。这是Node.js内置http模块的最基本用法:
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
保存后运行:
node server.js
打开浏览器访问http://127.0.0.1:3000/,屏幕上就会出现“Hello World”——第一个Node.js的HTTP服务就这样跑起来了。
3. 使用Express框架
原生http模块写多了会发现路由、中间件处理起来有些繁琐。这时候就该Express登场了。先安装它:
npm install express
然后改写server.js:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
同样运行node server.js,效果一样,但代码更简洁,后续扩展路由、加中间件也方便得多。
4. 创建TCP服务器
除了HTTP,Node.js的net模块可以让你直接操作TCP。新建一个tcp-server.js:
const net = require('net');
const server = net.createServer((socket) => {
console.log('Client connected');
socket.on('data', (data) => {
console.log(`Received: ${data}`);
socket.write(`Echo: ${data}`);
});
socket.on('end', () => {
console.log('Client disconnected');
});
});
server.listen(3001, () => {
console.log('TCP Server listening on port 3001');
});
运行后,可以用telnet或nc测试连接:
telnet localhost 3001
输入任何内容,服务器会原样返回。这种回声服务的原理,和很多底层网络通信的逻辑是一样的。
5. 创建UDP服务器
UDP无连接的特性让它适合音视频、实时游戏等场景。Node.js的dgram模块可以轻松实现。创建udp-server.js:
const dgram = require('dgram');
const server = dgram.createSocket('udp4');
const PORT = 3002;
server.on('listening', () => {
const address = server.address();
console.log(`UDP Server listening on ${address.address}:${address.port}`);
});
server.on('message', (msg, rinfo) => {
console.log(`Server got: ${msg} from ${rinfo.address}:${rinfo.port}`);
server.send(`Echo: ${msg}`, rinfo.port, rinfo.address);
});
server.bind(PORT);
运行后用nc发送消息测试:
echo "Hello UDP" | nc -u localhost 3002
如果一切正常,服务器会打印接收到的消息并回复一个带“Echo:”前缀的内容。
通过这几步,你应该已经掌握了在Linux上用Node.js进行网络编程的基础套路。从HTTP到TCP再到UDP,Node.js提供的模块覆盖了大多数网络需求。如果需要更大规模或更复杂的应用,Express、Socket.IO等社区库还能帮上大忙——但核心原理,都在上面这些代码里了。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















