Node.js net 模块
Node.js 教程
收录了这篇文章

Node.js 的 net 模块提供了创建 TCP 或 IPC(进程间通信)服务器和客户端的异步接口。这使得Node.js非常适合构建网络应用,如定制的TCP服务、代理服务器或实现特定协议的客户端等。下面是一个关于如何使用 net 模块的基本教程。

创建 TCP 服务器

  1. 引入 net 模块

首先,你需要在你的脚本中引入 net 模块。

const net = require('net');
  1. 创建服务器

使用 net.createServer() 方法创建一个TCP服务器。这个方法接受一个回调函数作为参数,该回调会在每次有新连接建立时被调用。

const server = net.createServer((socket) => {
  // 每当有新连接,这个回调就会被触发
  console.log('客户端已连接');

  // 接收客户端数据
  socket.on('data', (data) => {
    console.log('收到数据: ' + data);
    // 回复客户端
    socket.write('你好,你发送的是: ' + data);
  });

  // 监听连接关闭
  socket.on('end', () => {
    console.log('客户端已断开连接');
  });
});
  1. 监听端口

使用 server.listen() 方法指定服务器监听的端口和可选的主机名。

server.listen(3000, 'localhost', () => {
  console.log('服务器正在监听 localhost:3000');
});

创建 TCP 客户端

  1. 创建连接

使用 net.createConnection() 方法创建一个到服务器的新连接。

const client = net.createConnection({ port: 3000, host: 'localhost' }, () => {
  // 连接成功后触发
  console.log('已连接到服务器');
  // 发送数据
  client.write('你好,服务器!');
});

client.on('data', (data) => {
  console.log('从服务器接收: ' + data);
  // 断开连接
  client.end();
});

client.on('end', () => {
  console.log('与服务器的连接已结束');
});

注意事项

  • 当处理网络连接时,始终准备处理异常和错误,例如使用 'error' 事件。
  • 对于生产环境,考虑使用 TLS/SSL 加密连接以提高安全性。
  • 理解异步编程模型是关键,因为网络操作通常都是非阻塞的。
  • 根据需要调整缓冲区大小、超时设置等选项,以优化性能和资源使用。

通过上述示例,你应该已经掌握了使用Node.js net 模块创建简单TCP服务器和客户端的基础。进一步的实践和探索将帮助你利用这一强大模块构建更复杂的应用。

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
随机推荐
Nginx 使用 Njs 授权访问文件
JavaScript Map 详解
JWT 存储在 Cookie 和 Web Storage 的区别
Node.js 单元测试
p 标签里面不能嵌套块级元素
JavaScript Proxy 代理
JavaScript URL 对象
Node.js querystring 模块