Я понимаю, что мой вопрос - проблема XY, поэтому извиняюсь перед всеми, кто пытался на него ответить.
Я подозреваю ответ на буквальный вопрос: «Как мне получить экземпляр существующего сервера», это: «Вы не можете».
Я должен был добавить больше деталей к вопросу, особенно то, что я пытался достичь.
Мое приложение представляет собой балансировщик нагрузки / обратный прокси-сервер. Сначала я мог использовать getConnections()
, потому что я запускал прокси-сервер и несколько фиктивных серверов из одного и того же сценария. Однако я хотел отделить фиктивные серверы и прокси-серверы друг от друга, поэтому, хотя у меня был полный контроль над ними, мне нужно было притвориться, что я на самом деле не являюсь владельцем серверов.
Решение, которое я в моем конкретном случае c, в конце концов, я вел список серверов ha sh, к которым я могу подключиться (через обратный прокси-сервер), и увеличивал счетчики соединений при каждом подключении к указанному c сервер:
let servers = [
{ port: 4000, connectionsCounter: 0 },
{ port: 5000, connectionsCounter: 0 },
{ port: 6000, connectionsCounter: 0 },
];
let myProxyServer = net.createServer((socket) => {
// Open a connection to the first server in the list
net.connect(servers[0].port, () => {
// Once connected, increment the connections counter
socket.on('connect', () => {
servers[0].connectionsCounter++;
});
// When the connection ends, decrement the counter
socket.on('close', () => {
servers[0].connectionsCounter--;
});
});
});
Надеюсь, это кому-нибудь пригодится.