首页 > 解决方案 > Node js 客户端未连接到在 127.0.0.1:8080 上运行的服务器

问题描述

我正在尝试创建一个 Node js TCP 服务器和客户端。目前我在 IP 地址 127.0.0.1:8080 上运行服务器。我的客户正在尝试连接到该 IP。我不知道为什么会失败,这是我的代码:

var net = require('net');
const readline = require('readline');

var clients = [];

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

function OpenServer() {
  var server = net.createServer(function(socket) {
    socket.write('Echo server\n');
    socket.name = socket.remoteAddress + ":" + socket.remotePort;
    socket.write(socket.name + " joined the chat\n");

    socket.on('data', function(data) {
      socket.write('socket Received: ' + data + '\n');
    });

    socket.on('connect', function(data){
      socket.write("new connection");
    });

    socket.pipe(socket);
  }).listen(8080, '127.0.0.1');
}

function OpenClient() {
  var client = new net.Socket();
  client.connect(8080, "127.0.0.1", function() {
    console.log('Connected');
  });

  client.on('data', function(data) {
    console.log('Client Received: ' + data + '\n');
    rl.question('How are you today? ', (answer) => {
      // TODO: Log the answer in a database
      client.write(`Thank you ${answer}`);
      rl.close();
    });
  });
  client.on('close', function() {
    console.log('Connection closed');
  });
}
OpenClient(); OpenServer();

这是我运行客户端时遇到的错误。

进程崩溃:错误:在 TCPConnectWrap.afterConnect [as oncomplete] (net.js:1174:14) 处连接 ECONNREFUSED 127.0.0.1:8080

我还想说,我有点不知道 IP 127.0.0.1 是什么。如果有人有更好的解决方案或更好的方法来做到这一点,我对此非常开放。

标签: node.jstcpserverclient

解决方案


推荐阅读