为什么没有FTPClient.setDefaultTimeout工作?

时间:2011-09-09 14:25:15

标签: java timeout ftp-client

我正在尝试使用FTPClient在Java中建立ftp连接 我想看看当我分开服务器和客户端之间的界限时会发生什么。我的应用程序冻结了大约30秒,然后它显示ConnectionException(连接超时)。这就是为什么我搜索FTPCliend的超时方法,我发现setDefaultTimeout()所以我把方法放在连接尝试之前,但它仍然冻结了30秒......

    FTPClient ftp = new FTPClient();
    ftp.setDefaultTimeout(5000);
    ftp.connect(ip);

当我把“1.1.1.1”作为ip时,应用程序快速抛出一个ConnectionException(连接被拒绝)但是当我把正确的ipAdress放到它只是冻结(30秒)并抛出{{1而不是希望的TimeoutException(5秒后)

我做错了什么?

ps:请原谅我可怕的英语知识;)

1 个答案:

答案 0 :(得分:3)

我不确定你使用的是FTPClient,因为那里有几个。但是,它们通常有两种不同的超时选项:一种用于数据,一种用于实际连接。我建议您搜索名为setConnectTimeout()或类似的方法。