2017-03-01 55 views
1

以下代碼用於連接到FTP服務器。Azure虛擬機中的IIS中的FTP服務器拋出的「服務器無法接受參數」異常

client.Mode = FtpMode.Active; 
client.ActiveModePorts = new Range(10000, 10001); 
client.Connect(ftpModel.ftpServer, ftpModel.ftpPort); 
client.Login(ftpModel.ftpUser, ftpModel.ftpPassword); 

我使用Ftp.dll nuget packaage進行開發。

  1. 誤差由Visual Studio拋出該異常

The error Thrown by Visual Studio

  • FTP防火牆支持
  • FTP Firewall support

  • Firewall Inbou第二規則
  • Firewall Inbound Rules

  • 入站天青VM的規則
  • Inbound rules of Azure VM

  • 入站規則中我的本地機器
  • Inbound rule in my local Machine

    回答

    1

    在Azure VM中,我們無法在主動模式下使用FTP,請嘗試使用被動模式

    在主動模式FTP中,客戶端從一個隨機非特權端口(N> 1023)連接到FTP服務器的命令端口端口21.然後,客戶端開始偵聽端口N + 1併發送FTP命令PORT N + 1到FTP服務器。服務器將然後從它的本地數據端口,這是端口20
    這是出現連接如下連接返回到客戶端的指定數據端口:
    enter image description here

    相關問題