Почему не работает FTPClient.setDefaultTimeout? - PullRequest
1 голос
/ 09 сентября 2011

Я пытаюсь установить FTP-соединение в Java с FTPClient.
Я хотел посмотреть, что происходит, когда я разделяю линию между сервером и клиентом.Мое приложение зависло примерно на 30 секунд, а затем оно выдало ConnectionException (тайм-аут соединения).Вот почему я искал метод тайм-аута для FTPCliend, и я нашел setDefaultTimeout(), поэтому я поставил метод перед попыткой подключения, но он все еще завис 30 секунд ...

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

Когда я поставил "1.1.1.1 "при ip приложение быстро выдает ConnectionException (соединение отказано), но когда я поставил правильный ipAdress, он просто зависает (30сек) и выбрасывает ConnectionException вместо желаемого исключения TimeoutException (через 5сек)

Что я делаю не так?

ps: извините за мои ужасные знания английского;)

1 Ответ

3 голосов
/ 09 сентября 2011

Я не уверен, какой FTPClient вы используете, потому что там есть пара. Тем не менее, они обычно имеют две разные опции тайм-аута: один для данных и один для фактического соединения. Я предлагаю вам найти метод с именем setConnectTimeout() или аналогичный.

...