前端/移动开发面试题更新 2026-08-05

在 Node.js 环境下,要搭建一个 TCP 服务器,通常需要依赖哪个核心模块,并调用哪个方法?请结合实例说明创建 TCP 服务器的主要步骤。

前端/移动开发编码实现技术原理Node.js

考察说明

考查对 Node.js 网络模块 net 的掌握程度,以及创建 TCP 服务器的基本流程。

回答思路

  1. 【回答框架 1】在 Node.js 中,创建 TCP 服务器主要依赖核心模块 net。net 模块提供了创建服务器和客户端的能力,其中 createServer 方法用于实例化一个服务器对象。
  2. 【回答框架 2】使用 net.createServer 时,需要传入一个回调函数,该回调会在每次有客户端连接时被调用。回调函数接收 socket 参数,代表客户端连接对象,可通过它读写数据。
  3. 【回答框架 3】创建服务器后,需要调用 listen 方法指定端口和主机名,服务器才开始监听连接。例如 server.listen(port, host, callback),其中 callback 在服务器绑定成功后触发。
  4. 【回答框架 4】服务器可通过监听 connection 事件或利用回调参数处理数据,如 socket.on('data') 接收数据,socket.write() 发送数据,最后 socket.end() 关闭连接。
  5. 【回答框架 5】也可以监听 server 的 error 事件来处理端口占用等异常,并利用 server.close() 关闭服务器,停止接受新连接。
  6. 【关键点 1】需要 net 模块,通过 require('net') 引入。
  7. 【关键点 2】net.createServer(callback) 创建服务器,callback 在连接建立时执行。
  8. 【关键点 3】server.listen(port, host, callback) 启动监听,host 默认监听所有接口。
  9. 【关键点 4】可用 socket.on('data') 接收客户端数据,socket.write() 发送数据。
  10. 【关键点 5】监听 error 事件避免进程崩溃,使用 close 方法停止服务。
  11. 【易错点 1】不监听 error 事件,端口占用时可能抛出未捕获异常导致进程崩溃。
  12. 【易错点 2】混淆 server.listen 与 socket.listen,socket 没有 listen 方法。
  13. 【易错点 3】未调用 listen,服务器无法接收连接,但不会报错,易被忽略。