SocketIO,无法从外部IP连接到服务器

时间:2020-09-03 11:42:41

标签: node.js socket.io

在发布之前,我已经检查了线程的负载。似乎什么都没用,我迷路了。

客户:

var client = new net.Socket();
client.connect(8124, "MYIP", function () {
    client.write("Connected");
});

服务器:

var express = require("express");
var app = express();
const iohook = require("iohook");
var server = require("http").Server(app);
var io = require("socket.io")(server);
var net = require("net");
var mysql = require("mysql");
const prompt = require("prompt");

var netServer = net.createServer(function (c) {
    console.log("client connected");

    c.on("end", function () {});

    c.on("error", (err) => {});
});
console.log("Server Online.");
netServer.listen(8124, "myIP");

netServer.on("connection", function (socket) {
    socket.on("data", function (data) {});
});

我的端口转发了8124 tcp / udp。

如果我使用相同的IP地址,则可以连接到服务器。意思是,如果我制作两个节点文件,一个用于客户端,一个用于服务器,它将允许我进行连接。

现在,当我使用另一台具有不同IP地址的PC时,即使服务器正在运行,我也无法连接到主机。

这是错误:

events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: connect ETIMEDOUT MYIP:8124
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
Emitted 'error' event on Socket instance at:
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: 'ETIMEDOUT',
  code: 'ETIMEDOUT',
  syscall: 'connect',
  address: 'MYIP',
  port: 8124
}

0 个答案:

没有答案