Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 29.12.2004
Откуда: Москва
При создании программы для обмена сообщениями, возникла идея добавить возможность передачи файлов (использовал Indy TCP/IP). Вопрос в том, как это реализовать?
Заранее премного благодарен за любую помощь.



Партнер
 

Member
Статус: Не в сети
Регистрация: 02.03.2005
Откуда: Владивосток
Galllich писал(а):
При создании программы для обмена сообщениями, возникла идея добавить возможность передачи файлов (использовал Indy TCP/IP). Вопрос в том, как это реализовать?
Заранее премного благодарен за любую помощь.


Посидел щас часок в Delphi 2005 и вот чего смог(100% работает) -
Используем
Код:
IdTCPServer1: TIdTCPServer;
    IdTCPClient1: TIdTCPClient;


Ставим сервер на прослушивание, и на собитие Connect идет вот это:
Код:
procedure TForm2.IdTCPServer1Connect(AContext: TIdContext);
begin
  AContext.Connection.IOHandler.WriteFile('D:\test.avi');
  AContext.Connection.Disconnect;
end;


Следующая процедура получает файл

Код:
procedure TForm2.Button1Click(Sender: TObject);
Var
  LStream : TStream;
  sStream : TIdStreamVCL;
begin
  if not IdTCPClient1.Connected then
    IdTCPClient1.Connect;
  try
    LStream := TFileStream.Create('C:\Test_2.tst', fmCreate);
    try
      sStream := TIdStreamVCL.Create(LStream, True);
      IdTCPClient1.IOHandler.ReadStream(sStream,-1,True);
    finally
      FreeAndNil(sStream);
    end;
    Memo1.Lines.Add('Client READ');
  except
    Memo1.Lines.Add('Client error');
  end;

end;


Правда это самый простой способ - без докачки. Если надо навороченнее - смотри исходники Indy - конкретнее процедуру WriteFile(...);


 

Member
Статус: Не в сети
Регистрация: 08.02.2005
Откуда: Саратов
Про INDY нормально в HELPe написано. Разобрался только так.

_________________
Russian Pride World Wide


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan