Home

Page 194
Page 194
background image

Простые приемы работы с сетью 187

Подготовка закончилась. Теперь нужно написать код для работы с сетью.
Наш сервер должен ожидать прихода определенной команды, и если она
пришла, то отправлять файл. Для этого мы должны создать обработчик со-

бытия

 который вызывается каждый раз, когда данные прихо-

дят из сети (листинг 4.6).

procedure

 TObject;

Socket:

var

fs: TFileStream;

Data:

begin

//Получена команда s  отправить файл

if

 = 's' then

begin

try

//Загружаю файл в поток TFileStream

 0;

//Сначала отправляем длину файла и добавляем к этому знак #0

//по этому знаку мы отделим длину от данных файла

 + #0);

//Посылаем файл.

finally
end;

end;

end;

Сначала проверяется, что за команда пришла. Если это буква s, то значит

клиент просит прислать ему файл. Не будем разочаровывать клиента и сде-

лаем это. Но прежде чем отсылать данные, файл нужно открыть и загрузить.

Для этого используется объект файлового потока (переменная

 типа

TFileStream). Сначала эта переменная инициализируется:

 fmOpenRead);

В качестве параметров конструктора передается имя файла Editl.Text

и режим, в котором будет подключен файл. Нам достаточно использовать
режим чтения, поэтому указан флаг fmOpenRead. После открытия текущая

7

 978


Copyright © 2020 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.