Показать сообщение отдельно
Старый 08.01.2008, 17:15   #3
XStreaM
Неактивный пользователь
 
Регистрация: 08.08.2007
Сообщений: 2
Репутация: 0
Unhappy Ответ: Обмен файлами через TCP протокол

Да я это знаю, в принципе я так и хочу.
У меня получилось только на TClientSocket и TServerSocket
  1. Сервер создает поток TFileStream.Create('c:\1.avi', fmOpenRead or fmShareDenyWrite);
  2. Клиент отправляет сообщение о готовности принять файл
  3. Сервер отравляет «Заголовок» (Кодовое слово, Имя файла, Размер файла)
  4. Клиент создает файл у себя TFileStream.Create(SaveDialog1.FileName, fmCreate or fmShareDenyWrite);
  5. Сервер пакетами отправляет файловый поток [для того чтобы видеть в TGauge сколько было передано и осталось я изменил функцию TCustomWinSocket.SendStreamPiece под себя]
  6. Клиенту проще [знаем размер файла и сколько байт передано в буфере] каждое сообщение обрабатывает OnRead, просто напросто дописываем в конец файлового потока и отображаем в TGauge.

Как уловить это в упомянутые TIdTCPServer и TIdTCPClient не знаю. SOS!!! Очень нужно...
XStreaM вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.02165 секунды с 10 запросами