ВУЗ:
Составители:
Рубрика:
- 46 -
протокол HTTP 1.0 клиенту, проверяя существование запрашиваемого файла
и выдавая соответствующие ответы (код 200 или 404 при существующем /
несуществующем файле соответственно):
procedure TWbServe.SendFullHeader;
begin
if FileExists(isFileName) then { Запрашиваемый файл существует ? }
begin
{ Открыть файл и отправить полный заголовок сообщения, передавая
функцию FIleHeader в качестве дополнительного параметра строки
сообщения процедуре SendFullMsg }
OpenSendFile;
SendFullMsg(isConnectionSocket, 200, HTTP_NOOP,
UWM_SOCKETEVENT, FileHeader);
CloseConnection; { Закрыть соединение }
end
else
begin { Файл не существует – послать клиенту сообщение об этом }
SendFullMsg(isConnectionSocket, 404, HTTP_NOOP,
UWM_SOCKETEVENT, isFileName);
CloseConnection; { Закрыть соединение }
end;
end; { конец SendFullHeader }
При обработке команды GET нижеприведенная процедура SendFullObject
отправляет клиенту не только данные о запрашиваемом файле, но и сам файл
(вместо CloseConnection вызывается ProcessDataSend):
procedure TWbServe.SendFullObject;
begin
if FileExists(isFileName) then { Запрашиваемый файл существует ? }
begin
{ Открыть его и отправить полное сообщение заголовка, причем
передать функцию FileHeader в качестве дополнительного параметра
строки сообщения процедуре SendFullMsg }
OpenSendFile;
SendFullMsg(isConnectionSocket, 200, HTTP_NOOP,
UWM_SOCKETEVENT, FileHeader);
ProcessDataSend; { Отправить файл }
end
else
begin
{ Файла нет, отправить клиенту полное сообщение об этом }
SendFullMsg(isConnectionSocket, 404, HTTP_NOOP,
UWM_SOCKETEVENT, isFileName);
протокол HTTP 1.0 клиенту, проверяя существование запрашиваемого файла
и выдавая соответствующие ответы (код 200 или 404 при существующем /
несуществующем файле соответственно):
procedure TWbServe.SendFullHeader;
begin
if FileExists(isFileName) then { Запрашиваемый файл существует ? }
begin
{ Открыть файл и отправить полный заголовок сообщения, передавая
функцию FIleHeader в качестве дополнительного параметра строки
сообщения процедуре SendFullMsg }
OpenSendFile;
SendFullMsg(isConnectionSocket, 200, HTTP_NOOP,
UWM_SOCKETEVENT, FileHeader);
CloseConnection; { Закрыть соединение }
end
else
begin { Файл не существует – послать клиенту сообщение об этом }
SendFullMsg(isConnectionSocket, 404, HTTP_NOOP,
UWM_SOCKETEVENT, isFileName);
CloseConnection; { Закрыть соединение }
end;
end; { конец SendFullHeader }
При обработке команды GET нижеприведенная процедура SendFullObject
отправляет клиенту не только данные о запрашиваемом файле, но и сам файл
(вместо CloseConnection вызывается ProcessDataSend):
procedure TWbServe.SendFullObject;
begin
if FileExists(isFileName) then { Запрашиваемый файл существует ? }
begin
{ Открыть его и отправить полное сообщение заголовка, причем
передать функцию FileHeader в качестве дополнительного параметра
строки сообщения процедуре SendFullMsg }
OpenSendFile;
SendFullMsg(isConnectionSocket, 200, HTTP_NOOP,
UWM_SOCKETEVENT, FileHeader);
ProcessDataSend; { Отправить файл }
end
else
begin
{ Файла нет, отправить клиенту полное сообщение об этом }
SendFullMsg(isConnectionSocket, 404, HTTP_NOOP,
UWM_SOCKETEVENT, isFileName);
- 46 -
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »
