silvery 13.11.2012 10:55 Miranda

Что будет, если кто-нибудь сотрёт файл с FTP ервера во время качивания? Зависит ли это от используемого сервера и ОС или это как-то жестко декларировано самим протоколом???

Recommended by: @Aika
1. kb 13.11.2012 10:59 Azoth

зависит от веб-сервера, но если он при отдаче делает open() → отдача → close(), то ОС позаботится сама, чтоб файл не удалился пока не сделается close(). если не ошибаюсь, windows запретит удалить файл в таком случае.

2. gelraen 13.11.2012 11:00

зависит. Винда не даёт удалять открытые файлы, на линупсах запись о файле в директории пропадёт, но сам файл удалится только после закрытия последнего дескриптора, т.е. докачать его можно будет. Нет, протоколом это никак не регулируется.

3. gelraen → kb /1 13.11.2012 11:00

> FTP

4. kb → gelraen /3 13.11.2012 11:00 Azoth

и?

5. silvery → gelraen /2 13.11.2012 11:03

т.е. в обоих случаях файл будет докачиваться, но на linux исчезнет из листинга?

6. gelraen → kb /4 13.11.2012 11:07

при чём здесь веб-сервер?

7. gelraen → silvery /5 13.11.2012 11:08

да. если, конечно, ты запрашиваешь файл целиком, а не по частям, в этом случае возможны варианты

8. kb → gelraen /6 13.11.2012 11:10 Azoth

имелся в виду сервер, находящийся в вебе (и в данном случае отдающий контент по ftp).

9. gelraen → kb /8 13.11.2012 11:12 work-laptop

define веб
Если это что-то отличное от кусков гипертекста (которыми файлы на ftp обычно не являются) я удивлюсь.

10. silvery → gelraen /7 13.11.2012 11:12

по частям — это в несколько потоков ИЛИ part1 ... part n?

11. kb → gelraen /9 13.11.2012 11:12 Azoth

пожалуйста http://en.wikipedia.org/wiki/Webs_(web_h...

12. gelraen → kb /11 13.11.2012 11:13 work-laptop

пиздец. один веб-хостинг — это веб. А все остальные сайты тогда что?

13. kb → gelraen /12 13.11.2012 11:14 Azoth

ну, был указан как пример, где можно поставить ftp-сервер.

14. gelraen → kb /13 13.11.2012 11:14 work-laptop

я определение спрашивал, а не примеры

15. silvery → gelraen /7 13.11.2012 11:15

Т.е. понятно, что если части лежат отдельными файлами — всему, что не качается в данный момент на этом месте пока, а если один файл скачивается в 4+ потоков?

16. gelraen → kb /13 13.11.2012 11:15 work-laptop

так-то ftp-сервер куда угодно можно поставить, хоть на тостер

17. kb → gelraen /14 13.11.2012 11:17 Azoth

а я не тебе отвечал

18. gelraen → silvery /15 13.11.2012 11:17 work-laptop

ну если "части лежат отдельными файлами" — то это отдельные файлы. А если скачивается в несколько потоков — то если весь файл перекрыт запросами от потоков которые качают в момент удаления, то можно докачать, иначе не получится, потому что открыть ещё один поток клиент не сможет, так как записи в директории уже нету.

19. silvery → kb /17 13.11.2012 11:17

а я тупее и меняьше знаю, все довольны?

20. gelraen → kb /17 13.11.2012 11:18 work-laptop

ебануцца, а кому же ты отвечал на мой коментарий?

21. kb → gelraen /20 13.11.2012 11:19 Azoth

в /1 я отвечал не тебе

22. gelraen → kb /21 13.11.2012 11:20 work-laptop

слив зощитан

23. silvery 14.11.2012 12:03

Всем большое спасибо за то, что мне не пришлось поднимать два тестовых сервера, чтобы разобраться. Есть одно дополнение (писали про close(), но я недопонял) — файл исчезает, если во время скачивания произошёл непредвиденный разрыв соединения и это меня ОЧЕНЬ печалит.

Do you really want to delete ?