Форум: "Сети";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
Внизпроблемы при передаче картинок по сети Найти похожие ветки
← →
Sysanin (2006-03-29 22:36) [0]Вообщем есть две программы сервер и клиент. Когда клиент посылает определённую команду, сервер должен послать картинку (скрин рабочего стола). Но у меня возникла проблема с определением буфера при отправки картинки. Размер отправляемого буфера я определяю s.InstanceSize(); мот в этом и ошибка? Если да то как можно определить размер отправляемого буфера по другому? вот код если понадобиться
procedure TForm_main.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
ScreenDC: HDC;
s : TfileStream;
bmp : TBitmap;
jpg : TJPEGImage;
i : integer;
file_to_del : TextFile;
buff_size : integer;
begin
{ îòïðàâêà ñêðèíà }
if socket.ReceiveText = "sreenshot" then
begin
AssignFile(file_to_del, "frame.jpg");
Rewrite(file_to_del);
CloseFile(file_to_del);
bmp := TBitmap.Create;
bmp.PixelFormat := pf24bit;
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(0), 0, 0, SRCCOPY);
jpg := TJPEGImage.Create;
jpg.Assign(bmp);
jpg.ProgressiveEncoding := true;
jpg.Compress;
jpg.SaveToFile("frame.jpg");
jpg.Free;
{ AssignFile(file_to_del, "frame.jpg");
Reset(file_to_del);
buff_size := Filesize(file_to_del);
CloseFile(file_to_del);}
s := TFileStream.Create("frame.jpg",fmOpenRead);
{ Form_main.ServerSocket1.Socket.Connections[0].SendStream(s);}
Form_main.ServerSocket1.Socket.Connections[0].SendBuf(s, s.InstanceSize());
s.Free;
end;
end;
← →
GanibalLector © (2006-03-30 01:13) [1]Вопрос не соответствует теме конференции.
З.Ы. По сабжу S.Size
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.048 c