Я использую библиотеку Renci.ssh в своем консольном приложении .net для загрузки контента с защищенного FTP (SFTP). Все, что я делаю, это подключаюсь с помощью SFTPClient библиотеки Renci.ssh и загружаю контент, и после завершения загрузки я пытаюсь отключиться, используя тот же экземпляр SFTPClient, и приложение ведет себя немного странно. Иногда он не выдает никакой ошибки, иногда выдает «Клиент не подключен» или «Ошибка при подключении к чему-то, что не является Socket». Я не понимаю, почему приложение ведет себя странно.
Код:
try
{
ConnectionInfo conInfo = new PasswordConnectionInfo("********.com", username, password);
using (SftpClient client=new SftpClient(conInfo))
{
client.Connect();
Console.WriteLine("Connection before sleep: " + client.IsConnected);
Thread.Sleep(10 * 1000);
Console.WriteLine("Connection after sleep: " + client.IsConnected);
client.Disconnect();
}
}
catch (Exception ex)
{
}
StackTrace:
в System.Net.Sockets.Socket.Poll (микросекунды Int32, режим SelectMode) в Renci.SshNet.Extensions.CanWrite (сокет) в Renci.SshNet.Session.SendMessage (сообщение сообщения) в Renci.SshNet.Session .SendDisconnect (DisconnectReason reasonCode, String message) в Renci.SshNet.BaseClient.Disconnect () в TestSFTP.Program.Main (String [] args) в C: \ Users ********* \ TestSFTP \ TestSFTP \ Program.cs: строка 26