Nodejs net 模块 TCP 通讯 局域网多用户连接提示 Error: connect ECONNREFUSED

发布于 1周前 作者 sinazl 来自 nodejs/Nestjs

Nodejs net 模块 TCP 通讯 局域网多用户连接提示 Error: connect ECONNREFUSED
nodejs net 模块制作一个 TCP 客户端连接一个固定的 TCP 地址通讯(如:192.168.1.100:8080), 在同一个局域网内有一个用户连接没有中断的情况下 其它用户连接提示 Error: connect ECONNREFUSED 这是为什么, 有什么办法实现多个用户同时连接!

6 回复

不是 Socket 的 C/S 通信模式吗,8080 作为监听端口要分配别的 socket 和 client 通信吧


服务器端是不是设置了相应的个数?

没有端口复用吧,猜的

代码已经附上

在Node.js中使用net模块进行TCP通讯时,遇到Error: connect ECONNREFUSED错误通常意味着你尝试连接的服务器没有在指定的地址和端口上监听。这个问题常见于以下几种情况:

  1. 服务器未启动:确保你的TCP服务器已经启动并正确监听在指定的端口上。

  2. 端口号错误:检查客户端连接的端口号是否与服务器监听的端口号一致。

  3. IP地址错误:如果你在局域网内连接,确保使用的是正确的服务器IP地址。

下面是一个简单的示例,展示如何使用net模块在Node.js中创建一个TCP服务器和客户端。

服务器代码 (server.js)

const net = require('net');
const server = net.createServer((socket) => {
  console.log('Client connected');
  socket.on('end', () => {
    console.log('Client disconnected');
  });
});

server.listen(8080, '192.168.1.100', () => {
  console.log('Server listening on 192.168.1.100:8080');
});

客户端代码 (client.js)

const net = require('net');
const client = net.createConnection({ port: 8080, host: '192.168.1.100' }, () => {
  console.log('Connected to server');
});

client.on('error', (err) => {
  console.error('Error connecting:', err.message);
});

确保服务器和客户端都在同一局域网内,并且服务器的IP地址和端口号正确无误。如果问题依旧,请检查防火墙设置是否允许连接。

回到顶部