|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Ошибка при отправке файла с 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; |