Comments (1)
discovered that the cause was the order of function calls.
The addListServer is called first, which sets the close event on the server.
This defines the process of closing the sshConnection when the server terminates.
*See below.
function addListenerServer(server) {
if (tunnelOptionsLocal.reconnectOnError) {
server.on('error', async () => {
server = await createServer(serverOptions);
addListenerServer(server);
});
}
server.on('connection', onConnectionHandler);
server.on('close', () => sshConnection.end()); //The line that causes
}
After that, addListerSshConnection is called.
However, if the ssh connection fails here, the SSH connection failure is first returned as a reject.
Then the Server's Close event is executed and an error occurs as it tries to close the non-existent sshConnection.
However, since it has already returned a Reject, it is not properly handled and the application seems to crash.
Therefore, I believe that creating the SSH tunnel first and then the ServerListener will solve this problem.
from tunnel-ssh.
Related Issues (20)
- migration from v4 to v5 HOT 5
- Server is not closed if client fails HOT 3
- There is no way to specify dynamic port HOT 2
- About using this module to test the connection process HOT 1
- Add typescript support / update @types/tunnel-ssh HOT 5
- Can not listen to events on the latest version HOT 1
- Time to update ssh2 to v1.12.0 HOT 1
- Connecting to MongoDB via tunnel-ssh HOT 2
- Multiple ports forwards HOT 3
- Logging verbose level
- Application crashing when `No Response from server` HOT 5
- About tunneling with Redis cluster (AWS Memory DB) HOT 1
- how to close the tunnel connection HOT 2
- (love) Just to tell you how great your software is HOT 1
- Option to flip the forwarding direction?
- How to change to localhost server on my pc instead my remote mysql (if connection failed) ?
- cpu-features causes build error on M1 macOS HOT 1
- not working with nodejs current version >14 HOT 2
- Unhandled Error during connection. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tunnel-ssh.