2014-11-30 3 views
0

Я разрабатываю программу передачи файлов клиентского сервера на C, где мне нужно найти файл, сохраненный в каталоге сервера, и отправить файл, запрошенный конкретным клиентом. Может кто-нибудь, пожалуйста, помогите мне, какие команды или какая программа должна быть? Особенно, как искать файл (строка recvd от клиента) в каталоге сервера и отправлять клиенту.Клиентский сервер Передача файла в C

В центре внимания моей программы больше на части программирования сервера, использующей только TCP. Часть поиска файлов особенно важна для меня, и я не получаю ее: скажем, клиент хочет загрузить имя файла «string», которое ранее было сохранено в его каталоге на сервере, например: home/server1/client1/filename; сервер ПОИСК файл и отправляет его клиенту1 в C Большое спасибо.

+0

Для начала для обеспечения безопасности клиенту разрешается передавать только файлы в «общедоступном» каталоге. – user3629249

ответ

0
There are several file transfer protocols already available. 
I would suggest TFTP (Trivial File Transfer Protocol) 
as it is (relatively) simple to implement 
and robust enough to get the job done, even in noisy environments. 
It is a 'lock step' protocol, 
where the sender invokes a timeout when a block is sent, 
if the timeout occurs without receiving an ack/blocknum response from the receiver, 
then the same block is re-sent. 
checksums are used by the receiver to validate each block 
The details are in: <http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol> 
+0

Спасибо за ответ; фокус моей программы больше связан с частью программирования сервера, использующей только TCP. Часть поиска файлов особенно важна для меня, и я не получаю ее: скажем, клиент хочет загрузить имя файла «string», которое ранее было сохранено в его каталоге на сервере, например: home/server1/client1/filename; сервер ПОИСКАЕТ файл и отправляет его клиенту1 в C – Happy2learn

+0

, оператор fopen() будет обрабатывать его, и он знает код, если файл не существует. ОДНАКО; это позволит передавать ЛЮБОЙ файл клиента, включая файлы html, php и т. д., что является серьезным нарушением безопасности. – user3629249