MST

星途 面试题库

面试题:Node.js 中 TCP 客户端与服务端基础通信实现

请简述在 Node.js 中实现 TCP 客户端与服务端通信的基本步骤,并编写简单代码示例展示如何创建一个基本的 TCP 服务端监听某个端口,以及一个 TCP 客户端连接到该服务端并发送一条简单消息。
42.6万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试

TCP 客户端与服务端通信基本步骤

  1. 服务端
    • 创建 TCP 服务器实例,使用 net.createServer() 方法。
    • 监听指定端口,使用 server.listen() 方法,以便接收客户端连接。
    • 处理客户端连接事件,在连接事件处理函数中,处理来自客户端的数据,并可以向客户端发送数据。
  2. 客户端
    • 创建 TCP 客户端实例,使用 net.connect() 方法,指定服务器的端口和地址。
    • 连接成功后,通过 socket.write() 方法向服务器发送数据。
    • 监听 data 事件,处理从服务器返回的数据。

代码示例

TCP 服务端代码

const net = require('net');

// 创建 TCP 服务器
const server = net.createServer((socket) => {
    // 处理客户端连接
    console.log('客户端已连接');
    socket.on('data', (data) => {
        console.log('接收到客户端数据:', data.toString());
        socket.write('已收到你的消息');
    });
    socket.on('end', () => {
        console.log('客户端已断开连接');
    });
});

// 监听端口
server.listen(8080, () => {
    console.log('TCP 服务器正在监听 8080 端口');
});

TCP 客户端代码

const net = require('net');

// 创建 TCP 客户端
const socket = net.connect({ port: 8080, host: '127.0.0.1' }, () => {
    console.log('已连接到服务器');
    socket.write('你好,服务器!');
});

socket.on('data', (data) => {
    console.log('接收到服务器响应:', data.toString());
    socket.end();
});

socket.on('end', () => {
    console.log('与服务器的连接已关闭');
});