2017-01-30 2 views
0

.NET Framework 4.6.2를 사용하여 서버에 연결하는 C# 클라이언트를 만들어야합니다.SFTP 서버 또는 FTPS 서버?

내 클라이언트는 SFTP 서버 나 FTPS 서버에 연결할 수있는 가능성을 제공하지만 어느 것이 가장 연결해야할지 모르겠습니다. 이 page

, 나는 발견이 :

없음 VCL에서 SSH/SFTP 지원 내장 및 .NET 내가 업로드 할 서버 및 다운로드에 연결해야

프레임 워크 파일. 또한 원격 디렉토리에 파일이 언제 있는지 서버의 디렉토리를 모니터해야합니다.

인터넷에서 검색 SFTP 프로토콜을 구현하는 .NET 라이브러리 (SSHNet)가 프로덕션 환경에 충분히 적합한 지 여부는 잘 모르겠습니다.

SFTP를 사용하는 것이 가장 좋은 방법이지만 FTPS가 C# 클라이언트를 구현하기가 더 쉬울 것이라고 생각합니다.

또는 libssh2을 사용하여 원격 디렉토리를 모니터링하고 새 파일을 다운로드하고 업로드해야하는 파일을 업로드하는 작업을 수행하는 C 프로그램을 구현할 수 있습니다.

어떤 조언이 필요합니까?

+0

나중에 서버로 어떤 작업을해야합니까? 하나의 파일을 다운로드하거나 FTP 클라이언트 전체 기능을 찾고 있습니까? 실행 파일을 번들링 할 수 있습니까? – poke

+2

SFTP와 FTPS는 서로 다른 기능을 가지고 있습니다. 그들 사이의 선택은 쉽게 이용할 수있는 것이 아니라 당신의 필요에 달려 있습니다. – AFract

+0

@poke 파일을 업로드하고 다운로드하려면 원격 서버에 연결해야합니다. 또한 원격 디렉토리에 파일이 언제 있는지 서버의 디렉토리를 모니터해야합니다. – VansFannel

답변

2

두 가지 프로토콜이 실제 요구 사항 (질문 및 의견에 제안 된대로)에 적합하다면 ".Net에서 사용하기 가장 쉬운 점"의 문제 일 뿐이라면 간단히 FTPS로 갈 것입니다.

이전 버전의 프레임 워크 에서조차 프레임 워크 ("FtpWebRequest"클래스 또는 더 최근에는 "WebClient" 등)에서 필요한 모든 것을 찾을 수 있기 때문에 구현이 매우 빠릅니다.

당신은 웹 또는 당신은 원격 서버의 폴더를 "모니터"필요가 있다고 언급 한 SO

에 이것에 대해 많은 리소스를 찾을 수 있습니다. 물론 FTPS가 폴더의 모든 파일 목록을 검색하는 데는 문제가 없지만 원하는대로 자주 "당기기"모드로 전환됩니다. 새 파일이 삭제 될 때마다 서버 자체에서 알림을 전송할 방법이 없습니다. 실시간 알림이 필요한 경우 최적이 아닙니다.

관련 문제