Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许在服务器端运行 JavaScript 代码。在 Linux 上,Node.js 可以用于创建各种网络应用程序,如 Web 服务器、API 服务器、实时通信服务器等。以下是使用 Node.js 在 Linux 上进行网络通信的一些建议:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
});
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
首先,需要安装 Express.js:
npm install express
然后,创建一个简单的 Web 服务器:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});
首先,需要安装 WebSocket 库:
npm install ws
然后,创建一个简单的 WebSocket 服务器和客户端:
// server.js
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 3000 });
wss.on('connection', (ws) => {
ws.on('message', (message) => {
console.log(`Received message: ${message}`);
ws.send(`You sent: ${message}`);
});
});
// client.js
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:3000');
ws.on('open', () => {
ws.send('Hello Server!');
});
ws.on('message', (message) => {
console.log(`Received message: ${message}`);
});
// server.js
const net = require('net');
const server = net.createServer((socket) => {
socket.write('Hello from server!\n');
socket.on('data', (data) => {
console.log(`Received message: ${data}`);
socket.write(`You sent: ${data}`);
});
});
server.listen(3000, () => {
console.log('Server listening on port 3000');
});
// client.js
const net = require('net');
const client = net.createConnection({ port: 3000 }, () => {
console.log('Connected to server');
client.write('Hello from client!');
});
client.on('data', (data) => {
console.log(`Received message: ${data}`);
});
这些示例展示了如何在 Linux 上使用 Node.js 进行基本的网络通信。根据实际需求,可以选择合适的库和框架来构建更复杂的应用程序。