Node.js server.listen() 方法

2025 年 3 月 1 日 | 阅读 4 分钟

在本文中,您将通过其语法、参数和示例了解 Node.js server.listen() 方法。

什么是 Node.js server.listen() 方法?

创建和管理在特定端口和地址上等待传入连接的服务器是简单而灵活的 Node.js server.listen() 方法。处理 HTTP 请求、WebSocket 连接和其他网络交互是使用 Node.js 创建服务器端应用程序的基本方面。构建 Web 服务器、RESTful API 和实时应用程序需要使用此技术。它是 basic http、https 和 net 模块的组成部分。

语法

在给定的主机和端口上,server.listen() 函数会绑定并等待连接。基本语法如下

参数

  • 端口:这是服务器需要监听的端口号。服务器通常在特定端口等待传入的请求。端口是通信端点。
  • 主机名:这是服务器应连接的 IP 地址或主机名。如果省略,服务器将接受任何 IPv4 地址 (0.0.0.0)。
  • 指定了待处理连接队列的最大长度。这是通过名为“backlog”的可选参数完成的。通常,默认值为 511。
  • 回调:此可选参数指定一个函数。服务器启动并运行时将调用该函数

server.listen() 示例

这是一个使用 http 模块和 server.listen() 的简单示例。

输出

Node.js server.listen() Method

说明

这是一个创建基本 HTTP 服务器的示例。服务器在端口 3000 上的 127.0.0.1 (localhost) 主机名上侦听。服务器启动后会记录一条带有访问 URL 的消息。

详细参数说明

端口:服务器的功能和安全性取决于选择正确的端口。以下端口常用于

  • 80 用于 HTTP
  • 443 用于 HTTPS
  • 3000、8080 等,用于开发目的

主机名:主机名决定了服务器将接受来自何处的连接

  • 127.0.0.1 或 localhost 仅接受来自本地机的连接。它用于测试和开发目的。
  • 0.0.0.0 接受来自任何 IPv4 地址的连接。此设置常用于服务器配置。

Backlog:此参数影响可以排队的待处理连接数。如果队列超过此长度,可能会拒绝新连接。

Callback:此函数在服务器成功启动时执行。它通常用于记录一条消息,指示服务器正在运行,或执行其他初始化代码。

高级用法

1. 监听多个端口

单个 Node.js 应用程序可以创建监听不同端口的多个服务器。这对于处理不同类型的流量或向后兼容可能很有用。

输出

Node.js server.listen() Method

2. 使用 Net 模块

可以使用 net 模块创建管理原始 TCP 连接的服务器。这对于底层网络或自定义协议创建很有帮助。

输出

Node.js server.listen() Method

3. 错误处理

一个健壮的服务器必须有适当的错误处理。如果服务器没有所需的权限,或者端口已被占用,server.listen() 函数可能会返回错误。

输出

Node.js server.listen() Method

4. 与 HTTPS 集成

https 模块增加了 SSL/TLS 加密,其功能与 http 模块相同。Node.js 支持它以实现安全通信。

输出

Node.js server.listen() Method

结论

总之,server.listen() 函数是 Node.js 中创建网络服务器的核心构建块。无论应用程序是基本的 HTTP 服务器、安全的 HTTPS 流量还是底层 TCP 连接。它能有效地监控和处理传入的连接。您对它们的参数、错误处理和复杂用例的理解将有助于开发健壮有效的服务器端应用程序。