推荐答案
Node.js 的 net 模块提供了用于创建基于 TCP 或 IPC 的服务器和客户端的能力。它允许你创建网络应用程序,处理底层的网络通信。
创建 TCP 服务器
// www.javascriptcn.com code example
const net = require('net');
const server = net.createServer((socket) => {
console.log('Client connected');
socket.on('data', (data) => {
console.log(`Received data: ${data}`);
socket.write(`Echo: ${data}`);
});
socket.on('end', () => {
console.log('Client disconnected');
});
});
server.listen(3000, () => {
console.log('Server listening on port 3000');
});创建 TCP 客户端
// www.javascriptcn.com code example
const net = require('net');
const client = new net.Socket();
client.connect(3000, '127.0.0.1', () => {
console.log('Connected to server');
client.write('Hello, server!');
});
client.on('data', (data) => {
console.log(`Received data: ${data}`);
client.destroy(); // 关闭连接
});
client.on('close', () => {
console.log('Connection closed');
});本题详细解读
net 模块的作用
net 模块是 Node.js 中用于处理网络通信的核心模块之一。它提供了创建 TCP 服务器和客户端的功能,支持基于流的通信。通过 net 模块,你可以轻松地构建网络应用程序,处理客户端与服务器之间的数据传输。
创建 TCP 服务器
- 引入
net模块:首先需要引入net模块。 - 创建服务器:使用
net.createServer()方法创建一个 TCP 服务器。该方法接受一个回调函数,当有客户端连接时,回调函数会被调用,并传入一个socket对象。 - 处理数据:通过监听
socket对象的data事件,可以接收客户端发送的数据。服务器可以通过socket.write()方法向客户端发送数据。 - 监听端口:使用
server.listen()方法让服务器监听指定的端口。
创建 TCP 客户端
- 引入
net模块:同样需要引入net模块。 - 创建客户端:使用
new net.Socket()创建一个客户端对象。 - 连接服务器:通过
client.connect()方法连接到服务器,指定服务器的地址和端口。 - 发送数据:连接成功后,可以使用
client.write()方法向服务器发送数据。 - 接收数据:通过监听
data事件,可以接收服务器返回的数据。 - 关闭连接:使用
client.destroy()方法关闭连接。
通过 net 模块,你可以轻松实现基于 TCP 的客户端-服务器通信,适用于需要低延迟和高性能的网络应用场景。