Показать сообщение отдельно
  #1  
Старый 20.04.2016, 09:54
iem00 iem00 вне форума
Прохожий
 
Регистрация: 16.12.2013
Сообщения: 14
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Ошибка при отправке файла с TCPServer

Добрый день!
Прошу помочь найти ошибку.

Есть 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;
Ответить с цитированием