Форум: "Сети";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизПередача файла с помощью 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.033 c