Показать сообщение отдельно
  #10  
Старый 24.11.2010, 20:48
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Сделать - врятли.
Даю ключевые слова:
WinSock, socket(), send(), recv(), connect(), bind(), listen(), accept() и т.д.
Писать придется и сервера, и клиента.
Сервер должен подключать клиентов и слать им строку из текстового файла.
Клиент должен принимать строку и сравнивать со своей. Если расходится - значит посылает запрос на закачку файла.
Когда сервак принимает запрос на скачку, то начинает слать файл. Желательно, чтобы это был архив - так проще. Хоть тупо запихать все файлы в один и написать в начале заголовок.
Я делал в свое время передачу файла по запросу. Передача сама по себе проста - сначала посылаешь размер файла, потом шлешь по запросам через Send пакеты например по 16кб. Можно конечно все сразу, но нехорошо). Клиент же принимает пакет через recv, если его размер меньше 16кб, то ждет остаток (TCP/IP иногда задерживает куски пакетов). После этого шлет запрос на следующий пакет и т.д. Последний пакет ясное дело будет меньше 16кб (хвост файла).
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием