Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Как правильно записать uri с пользователем

787  1 2 все
AlexNek патриот20.11.22 13:19
AlexNek
NEW 20.11.22 13:19 
в ответ vlasow 20.11.22 00:34
Наверняка ftpd держит файл залоченным

Не всегда и не везде, но один фиг - это периодический опрос сервера. Но похоже без этого никак

#21 
MrSanders коренной житель20.11.22 21:20
NEW 20.11.22 21:20 
в ответ AlexNek 19.11.22 21:06
Задача же совсем другая - есть ФТП сервер и нужно узнать со стороны сервера, когда файл полностью загрузится.

Что значит "со стороны сервера"? Я - фтп сервер, клиент открыл со мной соединение и передаёт файл, а мне надо понять передали мне уже все данные?

Или я - клиент фтп сервера, и хочу узнать передал ли другой клиент какой-то файл до конца?

#22 
AlexNek патриот20.11.22 21:49
AlexNek
NEW 20.11.22 21:49 
в ответ MrSanders 20.11.22 21:20
я - клиент фтп сервера, и хочу узнать передал ли другой клиент какой-то файл до конца

Ну вроде не планировалось запускать прогу прямо на сервере. Хотя да, неизвестно.


Что вот еще, не получается попробовать. Народ как то замапил фтп соединение на диск винды, как, вроде понятно, но повторить не получается. хммм

Будет ли SystemFileWatcher работать в данном случае, подозреваю что нет. Но как отличить, такое соединение от обычного сетевого диска, там он работает. Пока еще не искал

#23 
MrSanders коренной житель21.11.22 09:11
NEW 21.11.22 09:11 
в ответ AlexNek 20.11.22 21:49
Ну вроде не планировалось запускать прогу прямо на сервере. Хотя да, неизвестно.

А что самое смешное? То что не важно - сервер ты или другой клиент. Если ты по FTP работаешь, то правильный ответ: никак.

Емнип STOR означает "слушай соединенине с data и пиши всё, что получишь в файл". Как соединение закрылось - всё, значит закончили. А почему оно закрылось знает только клиент, который его открыл. И обычно он и проверяет всё ли закачалось. Закачал файлик - запросил какой размер у закачанного. Совпадает с исходным? Ну значит всё отлично, закончили.

Если ты сервер ftp, ты можешь пытаться "угадать", не было ли проблем. Вроде "если 60 секунд не приходило данных а потом закрылось соединение - наверное у клиента таймаут по сокету".

#24 
AlexNek патриот21.11.22 17:55
AlexNek
NEW 21.11.22 17:55 
в ответ MrSanders 21.11.22 09:11
по FTP работаешь, то правильный ответ: никак

В теории да, но на практике, в данном случае, можно ошибками передачи пренебречь.

Данные передаются устройствами, данных мало. Пусть даже какой то процент файлов будет бракованный - это всё равно лучше чем ничего.


Хотя, видимо, правильнее будет соединить устройства со спец. фтп, который сразу будет данные в базу записывать (кроме фтп у устройств больше ничего нет)

#25 
1 2 все