[CSharp] SFTP
ConnectionInfo ci = new ConnectionInfo(SFTP_HOST, SFTP_PORT, SFTP_USER, new PasswordAuthenticationMethod(SFTP_USER, SFTP_PASS)); using (var sftpClient = new SftpClient(ci)) { try { // sftpClient.KeepAliveInterval = TimeSpan.FromSeconds(60); sftpClient.ConnectionInfo.Timeout = TimeSpan.FromMinutes(180); sftpClient.OperationTimeout = TimeSpan.FromMinutes(180); sftpClient.Connect(); sftpClient.DeleteFile(SFTP_PATH); sftpClient.Disconnect(); // sftpClient.Connect(); sftpClient.BufferSize = 4 * 1024; using (FileStream fs = new FileStream(LOCAL_FILE, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { sftpClient.BufferSize = 4 * 1024; sftpClient.UploadFile(fs, FILE_NAME, true); } sftpClient.Disconnect(); // sftpClient.Connect(); sftpClient.DownloadFile(SFTP_DOWNLOAD_SERVER_PATH, LOCAL_FILE); sftpClient.Disconnect(); } catch (System.Net.Sockets.SocketException socket_ex) { MessageBox.Show(socket_ex.Message, "경고"); } catch (Renci.SshNet.Common.SshAuthenticationException ssh_ex) { MessageBox.Show(ssh_ex.Message, "경고"); } }