Добрый день!
Прошу помочь найти ошибку.
Есть 2 приложения - сервер и клиент. При подключении клиента сервер отправляет ему картинку. Код работает. Картинка приходит, но все завершается ошибкой - истекло время ожидания.
Код клиента:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
LStream : TStream;
begin
if TCPClient.Connected = true then begin
TCPClient.Socket.WriteLn('get_screen_shot');
LStream := TFileStream.Create('/Users/user/Desktop/Test_2.jpg', fmCreate);
try
TCPClient.Socket.ReadStream(LStream, -1, true);
except
//
end;
img.Bitmap.LoadFromFile('/Users/user/Desktop/Test_2.jpg');
LStream.Free;
end;
Код сервера:
Код:
procedure TForm1.TCPServerExecute(AContext: TIdContext);
var
s: string;
ms: TMemoryStream;
begin
s:= AContext.Connection.Socket.readln;
if s = 'get_screen_shot' then begin
DoScreenShot;
AContext.Connection.IOHandler.LargeStream := True;
try
ms:= TMemoryStream.Create;
ms.LoadFromFile('screen.jpg');
AContext.Connection.IOHandler.open;
AContext.Connection.IOHandler.WriteFile('screen.jpg', true);
except
ShowMessage('Error');
end;
end;