2017-01-17 75 views
0

我一直在使用Renci SSH NET的.NET DLL,它將文件從本地機器傳輸到安全FTP。它對於小文件工作正常,但是在通過我的應用程序上傳大文件時出現問題。我增加了緩衝時間,操作超時但仍不能上傳。當我調試我的代碼時,它停留在我正在上傳&的地步,它甚至不會拋出任何錯誤。Renci SSH NET上傳大文件失敗

有什麼建議嗎?

感謝

回答

0

根據您的描述,目前還不清楚是否由您的代碼或通過SFTP服務器的問題,所以我想建議:

  1. 使用FTP客戶端上傳相同文件到SFTP服務器,看看是否可以。
  2. 如果沒有問題,那麼你可以使用網絡監視工具,如wireshark,tcpdump,來檢查問題是否是由網絡不穩定造成的。
  3. 此外,通過使用網絡監視工具,您可以檢查上傳過程是否每次都在同一個點停止。

希望這會有所幫助。

+0

我的代碼運行良好,因爲當我測試小於1 MB的小文件時,它們會上傳到SFTP。我在想這個問題是由DLL引起的。你是否嘗試過使用這個Renci SSH組件至少有20MB大文件。 – ashveli

+0

是的,我在Win10(VS 2015)上使用SSH.NET版本2016.0.0測試SFTP上傳,在CentOS 7.3上使用sshd。代碼來自[https://gist.github.com/piccaso/d963331dcbf20611b094](https://gist.github.com/piccaso/d963331dcbf20611b094)。一個65 MB的文件可以成功上傳。所以我相信DLL應該沒問題。 –

+0

是的Caleb,DLL Version 2016.0.0正在從Windows 7開始工作。但是如果它兼容或不兼容,我將不得不在Server 2003中檢查它。另外,是否有可能增加上傳速度。我嘗試上傳100 MB的文件,緩衝區大小爲16 KB,時間跨度爲1800秒,上傳需要大約35分鐘。 – ashveli