2014-11-07 3 views
0

이 질문은 당신에게 중복 될 수 있습니다. 하지만 여전히 내 문제에 대한 해결책의 정확한 원인을 원한다.WebException : 수동 데이터 연결을 열 수 없습니다

문제는 사용자 이름과 암호로 FTP에서 파일을 요청하고 있습니다. FTP 연결 초기화 후 예외가 발생합니다 WebException : 수동 데이터 연결을 열 수 없습니다.

하지만 동일한 사용자 이름과 비밀번호로 Chrome과 같은 웹 브라우저를 사용하여 동일한 파일을 다운로드 할 수 있습니다.

사용자 정보가 실제로 요청되고 일부 사용자 관련 파일이 다운로드되는 Unity 3D 게임입니다. 코드에 MonoDevelop를 사용합니다.

서버에 AWS 서버가 있습니다. IP 주소가 최근에 변경되어 다시 시작되었습니다. 새로운 IP를 사용하고 XML 형식의 파일 목록을 얻고 있습니다. xml 데이터를 구문 분석하고 파일을 요청할 수 있습니다.

다음은 FTP 용 코드 샘플입니다.

reqFTP = (FtpWebRequest)FtpWebRequest.CreateDefault(new Uri("ftp://" + serverIP + ":" + serverPort + "/" + this.receiveInfo.fileDirectory + "/" + downloadLoc)); 
    reqFTP.Method = WebRequestMethods.Ftp.DownloadFile; 
    Debug.Log (reqFTP.RequestUri); 
    reqFTP.UseBinary = true; 
    reqFTP.UsePassive = true; 

    reqFTP.Credentials = new NetworkCredential(this.receiveInfo.ftpUsername , this.receiveInfo.ftpPassword); 
    object state = new object(); 
    FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse(); 

이 문제를 해결하는 데 도움을주십시오. 필자는 이런 종류의 것들에 대해 매우 새로운 점을 들었을 때 많은 유용한 정보를 많이 제공합니다.

답변

0

내 질문에 대한 답변을 찾았습니다.

문제는 FTP 구성에서 발생했습니다. 서버가 다시 시작되면 이전 ftp 설정이 서버에 적용되었습니다. 따라서 클라이언트로부터의 모든 수동 FTP 연결을 차단하고있었습니다. AWS 지원 담당자가 구성을 변경 한 다음 작동을 시작했습니다.

구성 파일을 변경 한 후에 문제가 해결되었습니다. 코드를 변경할 필요가 없습니다. 코드가 정확합니다.

관련 문제