在发布之前,我已经检查了线程的负载。似乎什么都没用,我迷路了。
客户:
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
}