타사와의 SFTP 연결을 테스트하고 있습니다. C#과 Renci를 사용하여이 작업을 수행하고 있습니다.SFTP 연결이 닫히지 않습니다 (Renci & C#)
하지만 연결이 닫히지 않는 것 같습니다. 이것은 내 간단한 테스트 코드입니다.
public bool TestConnection()
{
using (var client = new SftpClient(_connectionInfo))
{
try
{
client.Connect();
if (!client.IsConnected)
return false;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
finally
{
client.Disconnect();
client.Dispose();
}
return true;
}
}
엄밀히 말하면 연결 끊기와 처리는 중복됩니다.
와이어 샤크 호스트 US에서 모든 테스트의 마지막 명령
59,916 → 22 RST, ACK 서열 = 2,319 긍정 = 1,941 승 = 0 렌 = 0
인 도시 나에게 어느 것이 연결이 닫혀 야한다는 것을 나타냅니다. 그러나 약 19 번의 연속적인 테스트가 끝나면 호스트는 원래 연결이 시간 초과되기 시작할 때까지 강제로 연결 시도를 닫습니다. 호스트가 RST를 무시합니까? 방화벽과 같은 방식으로 연결이 끊어지는 것을 막을 수 있습니까? 무슨 일이야?
당신에게 좋은 힌트입니다. [using Statement documentation] (https://msdn.microsoft.com/en-us/library/yh598w02.aspx)을 살펴보면 클라이언트 자체가 처분됩니다. 직접 할 필요가 없습니다. –
그래, 내가 아는 :) :) 그러므로 "엄격하게 말하면 연결 해제와 처분은 중복된다." – Schuits
내 첫 번째 생각은 Disconnect가 Dispose로 중복된다는 것이 오해 일 수도 있습니다. –