Перейти к содержанию
Fire Monkey от А до Я
  • 0

[TidTCPServer] [TidTCPClient] Как отправить файл с сервера на клиент используя Indy10 и получить файл на стороне клиента?


Martifan

Вопрос

Доброго времени суток. 
Подскажите пожалуйста, как отправить файл с сервера на клиент используя Indy10 tcpClient/Server и как получить отправленный файл на стороне клиента. (Рассматривается вариант и по UDP).
Заранее спасибо.
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Отправка: 

  var
    len : integer;
  begin
    Context.Connection.IOHandler.WriteBufferOpen;
    Context.Connection.IOHandler.Write(len);
    Context.Connection.IOHandler.WriteFile(AFileName);
    Context.Connection.IOHandler.WriteBufferFlush;
    Context.Connection.IOHandler.WriteBufferClose;

Прием ( Тут на клиентской стороне должен быть метод, который по таймеру смотрит есть ли данные на входном буффере ):

  var
    sz : integer;
    FS : TMemoryStream;
  begin
    if FIdTCPClient.IOHandler.InputBufferIsEmpty then exit;

    sz := FIdTCPClient.IOHandler.InputBuffer.Size;
    if sz <= 0 then exit;

    FS := TMemoryStream.Create;
    FIdTCPClient.IOHandler.ReadStream(FS,sz);
Изменено пользователем xenon54
Ссылка на комментарий
  • 0

На самом деле эта тема не имеет никакого отношения к FM, а примеров того о чем вы спрашиваете тысячи на просторах  интернета, не поленитесь и погуглите.

Ссылка на комментарий
  • 0

В интернете смотрел, есть примеры, но нет рабочих. Я открыл тему в группе Indy и я подумал что тут обсуждается компонент Indy

Изменено пользователем Brovin Yaroslav
Ссылка на комментарий
  • 0
  • Администраторы

Тема закрыта, так как на форуме есть правило. Одна тема - один вопрос. Создайте отдельную тему с вопросом про отправку TIdBytes 

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...