fix: sftp client hang when exit in sftp server example

This commit is contained in:
wsl 2023-11-09 19:32:53 +08:00
parent b0487bc4a6
commit d45e538f7a
2 changed files with 12 additions and 12 deletions

View File

@ -17,7 +17,6 @@ import (
// Based on example server code from golang.org/x/crypto/ssh and server_standalone
func main() {
var (
readOnly bool
debugStderr bool
@ -136,11 +135,12 @@ func main() {
if err != nil {
log.Fatal(err)
}
if err := server.Serve(); err == io.EOF {
server.Close()
log.Print("sftp client exited session.")
} else if err != nil {
if err := server.Serve(); err != nil {
if err != io.EOF {
log.Fatal("sftp server completed with error:", err)
}
}
server.Close()
log.Print("sftp client exited session.")
}
}

View File

@ -17,7 +17,6 @@ import (
// Based on example server code from golang.org/x/crypto/ssh and server_standalone
func main() {
var (
readOnly bool
debugStderr bool
@ -120,11 +119,12 @@ func main() {
root := sftp.InMemHandler()
server := sftp.NewRequestServer(channel, root)
if err := server.Serve(); err == io.EOF {
server.Close()
log.Print("sftp client exited session.")
} else if err != nil {
if err := server.Serve(); err != nil {
if err != io.EOF {
log.Fatal("sftp server completed with error:", err)
}
}
server.Close()
log.Print("sftp client exited session.")
}
}