Я открываю tcp-соединение с сервером, что достаточно легко сделать, но мне нужен способ сохранить этот сокет открытым без необходимости повторного вызова net.createConnection(port, host)
.
Я пытаюсь реализовать сервер сокетов, который принимает несколько соединений, а затем направляет запросы через один сокет, как упомянуто выше. Затем мне нужно направить ответ на правильный сокет. Однако единственная проблема, с которой я сталкиваюсь, - это поддерживать открытый сокет, который я пытаюсь создать вне кода прослушивающего сервера.
Я подошел к нему с шаблоном Singleton, чтобы создать сокет.
var Singleton = (function() {
var socket = null;
function connectToHost(port, host) {
socket = net.createConnection(port, host);
return socket;
}
return {
connectToHost: connectToHost
};
})();
Но из того, что я вижу, в Event ('end') этот сокет больше не доступен для записи. Если я снова подключу сокет.
socket.on('end', function() {
socket = Singleton.connectToHost(port, host);
});
то же самое произойдет и в Event ('end').
Как я могу подойти к этому, чтобы я мог создать и поддерживать одно сокетное соединение?