Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Передача файла с помощью TTCPServer, TTCPClient...   Найти похожие ветки 

 
3APA3A ©   (2004-03-03 22:13) [0]

файлы, маскимальный размер ~10Мб, локалка на 100мб..

Я делал так - при надатиин на кнопку писал
var F:TFileStream;
    S:DWORD;  
  Client.RemoteHost:="...";
  Client.RemotePort:="...";
  F:=TFileStream.Create("c:\....",fmOpenRead);
  if Client.Connect then
    begin
      s:=DWORD(F.Size);
      Client.SendBuf(S,4);
      Client.SendStream(F);
      Client.Disconnect;  
    end
 
 а в обработчике OnAccept сервера
   M:TMemoryStream;
   S:DWORD;
   begin
     M:=TMemoryStream.Create;
     ClientSocket.ReceiveBuff(S,4);
     M.SetSize(S);
     ClientSocket.ReceiveBuff(M.Memory^,S);
     M.SaveToFile("c:\....");
     M.Free;
   end;

Писал по памяти, может что-то и упустил, но у меня почему то создается файл всегда 4Кб, хотя размер передается правильно... проверял... В чем я ошибся?


 
Slym ©   (2004-03-04 04:19) [1]

Попробуй применить OnGetThread...
И в дельфи есть примеры!


 
Verg ©   (2004-03-04 06:32) [2]

ReceiveBuf возврщает реально принятое количество байт, которое может быть меньше, чем то что ты указал во вотором параметре.
А ты этого не учитываешь вообще.
Интересно еще вот что - как ты это проверил, что размер передается верно?



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1082109537
defen
2004-04-16 13:58
2004.05.02
Редактирование файлов


6-1078344029
AlexeyITN
2004-03-03 23:00
2004.05.02
Есть ли комп в сети? да и по-дешевле...


14-1081249109
Iddqd
2004-04-06 14:58
2004.05.02
Как попросить шефа о повышении зарплаты?


14-1081792664
Qwart
2004-04-12 21:57
2004.05.02
Срочно(помогите перевести)


8-1075819433
ИМХО
2004-02-03 17:43
2004.05.02
Алгоритмы сжатия TIFF