1. 程式人生 > >基於Qssh的sftp客戶端

基於Qssh的sftp客戶端

專案需要寫一個sftp的自動升級程式,查閱了下網上的一些資料,有libssh2+openssl和基於qssh等方法。之前考慮從filezilla原始碼中參考自己封裝,考慮到時間關係就選擇最快的方式了。基於qssh來封裝。實現上傳下載,檔案列表,上傳目錄等基本功能,參考filezilla的功能。

sftp伺服器搭建,在前一篇文章中已經寫過。qssh 很簡單,由於是公司專案,只是稍記錄下。原始碼需要的可以聯絡。

網上有一些demo,是提取的老版本的原始碼,從官網下載最新版的對比了下,改動不是太大。

1.SshConnection類用於建立與伺服器之間的連線,在連線建立之後,建立QSsh::SftpChannel通道,這裡需要注意的是SftpChannel物件和連線是一起的,不同連線不可複用。也就是說如果因為伺服器等原因被動斷開連線,再次連線需要重新建立物件並初始化。

2.上傳或下載任務會返回一個SftpJobId,此id是唯一的,可以和具體檔名繫結,用於記錄檔案完成的個數。