首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义FTP程序

自定义FTP程序
EN

Stack Overflow用户
提问于 2014-06-06 20:34:39
回答 1查看 935关注 0票数 0

我有一个用Visual 2008 / C# / .Net 3.5框架创建的FTP工具。

该工具连接5个不同的FTP服务器和下载文件,没有任何问题。但是,同一工具与另一个FTP服务器(xxx)连接时,连接将失败。我检查了客户端和服务器端的防火墙异常,此IP未被过滤。但是,我可以通过FileZilla / Internet / windows连接到xxx服务器,在端口21上具有相同的凭据,它允许我查看和下载文件。下面是进行FTP连接的代码。任何帮助都将不胜感激。

代码语言:javascript
复制
public void Connect(string server, string user, string pass)
{
    main_sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    try
    {
        main_ipEndPoint = new IPEndPoint(Dns.GetHostEntry(server).AddressList[0], 21);  // returning correct IP
    }
    catch 
    {
        main_ipEndPoint = new IPEndPoint(Dns.GetHostAddresses(server)[0], 21);   
    }

    try
    {
        main_sock.Connect(main_ipEndPoint); // failing at this line. 
    }
    catch(Exception ex)
    {
        throw new Exception(ex.Message);
    }

    return;
}

错误信息:

{System.Net.Sockets.SocketException:连接尝试失败是因为连接方在一段时间后没有正确响应,或者建立连接失败是因为连接主机未能响应123.192.122.1XX:21。

错误代码: 10065

EN

回答 1

Stack Overflow用户

发布于 2014-06-07 03:49:19

错误10065不是凭据问题。这是TCP协议错误。它通常意味着无法到达主机。它发生在建立连接之前(甚至在交换凭据之前)。可能是超时或防火墙问题。

您能否验证用于连接的IP地址(即main_ipEndPoint)是否与其他FTP客户端获得的IP地址相匹配?您应该能够在FTP客户端日志中看到它。或者您可以将IP地址直接输入到FileZilla (等)中,看看它是否可以连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24090191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档