MST

星途 面试题库

面试题:Node.js TCP Socket在微服务间数据传输的应用

在一个简单的微服务架构中,描述如何使用Node.js的TCP Socket实现两个微服务之间的数据传输。请阐述关键步骤,并给出一个简单的代码示例展示如何建立连接以及发送/接收数据。
24.7万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试

关键步骤

  1. 服务端创建 TCP 服务器:使用 net.createServer() 方法创建一个 TCP 服务器实例,监听指定端口等待客户端连接。
  2. 客户端发起连接:使用 net.connect() 方法连接到服务端指定的地址和端口。
  3. 数据发送:连接建立后,客户端和服务端都可以通过 socket.write() 方法向对方发送数据。
  4. 数据接收:通过监听 socketdata 事件来接收对方发送的数据。
  5. 连接关闭:通信完成后,通过 socket.end() 方法关闭连接,同时监听 end 事件来处理连接关闭后的逻辑。

代码示例

服务端代码 (server.js)

const net = require('net');

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('服务器已启动,监听端口 8080');
});

客户端代码 (client.js)

const net = require('net');

const socket = net.connect({ port: 8080 }, () => {
    console.log('已连接到服务器');
    socket.write('你好,服务器');
});

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

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