Nodejs网络通讯模块net的使用
Nodejs网络通讯模块net的使用
Node.js 的 net
模块提供了用于创建服务器和客户端 TCP 或 IPC(内部进程通信)连接的工具。下面我将分别介绍如何使用 net
模块创建TCP服务器和客户端。
创建TCP服务器
首先,我们需要引入 net
模块,并创建一个服务器实例:
const net = require('net');
// 创建服务器
const server = net.createServer((socket) => {
console.log('Client connected');
// 接收数据
socket.on('data', (data) => {
console.log(`Received data: ${data}`);
// 向客户端发送响应
socket.write('Hello, client!');
});
// 客户端断开连接时触发
socket.on('end', () => {
console.log('Client disconnected');
});
});
// 监听端口
server.listen(3000, () => {
console.log('Server is listening on port 3000');
});
上述代码中:
net.createServer()
创建了一个新的 TCP 服务器。socket.on('data', ...)
监听从客户端接收到的数据。socket.write(...)
用于向客户端发送数据。server.listen(...)
开始监听指定的端口。
创建TCP客户端
接下来,我们创建一个TCP客户端来连接到上述服务器:
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 from server: ${data}`);
// 关闭连接
client.destroy();
});
// 当连接断开时触发
client.on('close', () => {
console.log('Connection closed');
});
// 错误处理
client.on('error', (err) => {
console.error(`Error: ${err.message}`);
});
在这个客户端示例中:
client.connect(...)
方法用于连接到服务器。client.write(...)
用于向服务器发送数据。client.on('data', ...)
监听来自服务器的数据。client.destroy()
用于关闭连接。client.on('close', ...)
在连接关闭时触发。client.on('error', ...)
处理可能发生的错误。
以上就是使用 Node.js 的 net
模块创建TCP服务器和客户端的基本方法。您可以根据实际需求调整这些示例代码。
当然,Node.js中的net
模块是个强大的工具,用于创建基于流的服务器和客户端。想象一下,你正在构建一个魔法传送门系统,net.createServer()
就是你的传送门建造指南,而net.connect()
则是你如何激活传送门的说明书。
首先,让我们来搭建一个传送门(服务器):
const net = require('net');
const server = net.createServer((socket) => {
socket.write('欢迎来到魔法世界!\n');
socket.end('再见,冒险者!\n');
});
server.listen(1337, () => {
console.log('传送门已开启,等待冒险者...');
});
然后,我们需要一个勇敢的冒险者(客户端)来连接这个传送门:
const net = require('net');
const client = net.connect({ port: 1337 }, () => {
console.log('成功连接到魔法世界!');
client.write('我是新来的冒险者!');
});
client.on('data', (data) => {
console.log(data.toString());
client.end();
});
client.on('end', () => {
console.log('已离开魔法世界。');
});
这样,你就有了一个基础的双向通信通道,就像两个魔法世界之间的秘密信使。希望这能激发你在Node.js中探索更多关于net
模块的乐趣!
Node.js 的 net
模块提供了用于创建服务器和客户端的 TCP 通信的能力。下面我会展示如何使用 net
模块来创建一个简单的TCP服务器和客户端。
创建TCP服务器
首先,我们创建一个TCP服务器:
const net = require('net');
// 创建服务器
const server = net.createServer((socket) => {
console.log('Client connected.');
// 监听数据接收事件
socket.on('data', (data) => {
console.log(`Received data: ${data.toString()}`);
// 向客户端发送响应
socket.write(`Echo: ${data.toString()}`);
});
// 监听断开连接事件
socket.on('end', () => {
console.log('Client disconnected.');
});
});
// 监听端口
server.listen(3000, () => {
console.log('Server is listening on port 3000');
});
创建TCP客户端
接下来,我们创建一个TCP客户端,它将向上述服务器发送数据并接收响应:
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 from server: ${data.toString()}`);
// 关闭连接
client.destroy();
});
// 处理连接关闭
client.on('close', () => {
console.log('Connection closed');
});
运行
- 首先运行服务器脚本。
- 然后运行客户端脚本。
客户端会连接到服务器,发送一条消息,服务器将该消息回显,并且客户端接收到回显的消息后断开连接。
这就是如何使用 Node.js 的 net
模块创建简单的TCP通信。这种技术常用于实时应用、聊天应用或任何需要实时双向数据流的应用中。
Node.js中的net
模块用于创建服务器和客户端网络通信。以下是一个简单的示例:
服务器端:
const net = require('net');
const server = net.createServer((socket) => {
socket.write('欢迎连接到服务器\n');
socket.end('这是你的消息。\n');
});
server.listen(8080, () => console.log('服务器运行在 8080 端口'));
客户端:
const net = require('net');
const client = new net.Socket();
client.connect(8080, 'localhost', () => {
client.write('你好,服务器!');
});
client.on('data', (data) => {
console.log(data.toString());
client.destroy(); // 关闭连接
});
这个例子展示了如何使用net
模块创建一个简单的TCP服务器和客户端。