sshnet / sshnet/SSH.NET

SSH Client Stream - No notification of remote closed

Offen
#507 0 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C#
Sterne
4.4k
Forks
993
Ø Merge
9 T. 21 Std.
Gemergte PRs (30 T.)
1

Beschreibung

We have a use case where we need to open an SSH client to a remote host and communicate as a stream - i.e. it's not a command/response.

This works fine with CreateShellStream() and the DataReceived event handles incoming unsolicited data.

However, we're seeing the remote end is sometimes closed (gracefully - we see the FIN/ACK in wireshark), but our local end doesn't get any notification event raised. At worst I was hoping we'd get an ErrorOccured event on either the client or the stream, but nope.

The first we find out is a call to IsConnected returning false - and polling isn't cool.

Is this a deficiency of the library or am I doing something wrong. I'd read the docs... if there were any ;)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, CreateShellStream sowie das bestehende Verhalten von DataReceived, ErrorOccured und IsConnected bei einem ordnungsgemäßen Remote-Schließen nachzuverfolgen. Bestätige, wie der SSH-Client und der Stream den FIN/ACK-Fall behandeln, definiere anschließend eine Benachrichtigung, die das Schließen zuverlässig sichtbar macht, und ergänze eine Abdeckung für dieses Szenario; in der Issue wird keine Quelldatei und kein Test genannt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
networking
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.