Когда вызывается setDataTimeout? - PullRequest
0 голосов
/ 26 мая 2011

Когда вызывается setDataTimeout на FTPClient (commons.net)?Вызывается ли он, когда соединение с сокетом зависло, или вызывается, когда достигается время ожидания?

Например,если я установил setDataTimeout на 30 секунд, я не хочу, чтобы соединение было разорвано через 30 секунд в середине большой загрузки.

1 Ответ

2 голосов
/ 08 октября 2011

Вы должны вызвать setDataTimeout перед любой передачей файла, тогда указанное время ожидания будет применено к новым сокетам, открытым для передачи файла.Поскольку каждый вызов read () в InputStream, связанном с сокетом, может возвращаться до истечения времени ожидания, вам не нужно беспокоиться о размере файла.С другой стороны, если истекло время ожидания, вы поймали исключение, и поток не блокировался бы бесконечно.

...