nie wiedzialem jaki tytul dac, ale cos wpisac musialem :) problem mam nastepujacy... napisalem sobie serwerek i klienta... wysylam polecenie, server robi screena i przesyla go do klienta... i tutaj zaczynaja sie dziac dziwne rzeczy... otoz mam takie cos Client Read...
if not Downloading then begin
Socket.ReceiveBuf(StreamHeader, SizeOf(StreamHeader));
ImgStream := TMemoryStream.Create;
ImgStream.Position := 0;
ImgSize := StreamHeader.Size;
Downloading := True;
Exit;
end;
//Zapisywanie bufora
Received := Socket.ReceiveBuf(Buffer, SizeOf(Buffer)-1);
ImgStream.write(Buffer, Received);
if ImgStream.Size >= ImgSize then begin
ImgStream.SaveToFile('C:\screen.jpg');
img.Picture.LoadFromFile('C:\screen.jpg');
ImgStream.free;
Received:=0;
ImgSize:=0;
Downloading:=false;
end;
i to normalnie dziala jezeli nic poza tym nie ma... ale ja mam jeszcze tutaj komendy... odczytywane funkcą
s := Socket.ReceiveText;
try
cmd := copy(s,1,pos(#31,s)-1);
delete(s,1,pos(#31,s));
lparam := copy(s,1,pos(#31,s)-1);
delete(s,1,pos(#31,s));
rparam := copy(s,1,pos(#31,s)-1);
delete(s,1,pos(#31,s));
except
a potem np
if cmd='wiad' then
showmessage('asdsfsafd') else;
i gdy mam te komendy to przesylanie screenu nie dziala... a gdy usune wszystko i zostawie tylko procedurke do odbierania to dziala...
Jak to pogodzic ??