ВУЗ:
Составители:
Рубрика:
- 51 -
единицу уменьшается число текущих соединений – чтобы иметь возмож-
ность открыть новые соединения без превышения общего числа оных):
procedure TWbServe.CloseConnection;
begin
{ перед закрытием гнездовое соединение необходимо завершить его }
shutdown(isConnectionSocket, 2);
{ закрыть гнездовое соединение и уничтожить гнездо }
NetSocket.CloseSocketConnection(isConnectionSocket);
if ibFileOpen then { если запрашиваемый файл открыт, закрыть его }
begin
CloseFile(TransferFile);
ibFileOpen := FALSE;
end;
{ уменьшить на единицу число текущих соединений для того, чтобы в будущем
можно было принять больше поступающих запросов на подключение }
iiNumConnected := iiNumConnected -1;
end; { конец CloseConnection }
Приведенные выше процедуры и функции расположены в файле
Wserve.pas, остальные процедуры WEB-сервера тривиальны и в основном на-
правлены на поддержку Delphi-программирования.
Рассматриваемый сервер обслуживает только одно соединение в данный
момент времени, не поддерживает современный протокол HTTP 1.1, в нем
отсутствует поддержка технологий CGI и ISAPI расширения функционально-
сти, средств безопасности и поддержки для аутентификации клиента и шиф-
рования связи, обслуживает запросы на перекачку только ограниченного ко-
личества типов файлов, не имеет средств восстановления при сбоях и др.
Разработка универсального ядра WEB-сервера является трудоемкой задачей,
причем именно здесь отлично проявил себя ‘принцип открытого кода’ –
лучший WEB-сервер Apache (около 60% применений) совершенствуется
именно таким способом.
Для простой пересылки файлов между удаленными компьютерами удобно
также использовать высокоуровневые компоненты TClientSocket и TServer-
Socket, реализующие клиентский и серверный сокеты соответственно. Также
можно использовать входящие в поставку Delphi компоненты вышеупомяну-
той фирмы NetMasters - TNMMsgServ и TNMMsg (серверная и клиентская час-
ти; компоненты предназначены для обмена текстовыми сообщениями),
TNMStrmServ и TNMStrm (серверная и клиентская части; компоненты предна-
значены для обмена потоками данных) и TNMUDP (компонент, реализующий
протокол UDP - User Datagrаm Protocol, см. RFC768).
единицу уменьшается число текущих соединений – чтобы иметь возмож- ность открыть новые соединения без превышения общего числа оных): procedure TWbServe.CloseConnection; begin { перед закрытием гнездовое соединение необходимо завершить его } shutdown(isConnectionSocket, 2); { закрыть гнездовое соединение и уничтожить гнездо } NetSocket.CloseSocketConnection(isConnectionSocket); if ibFileOpen then { если запрашиваемый файл открыт, закрыть его } begin CloseFile(TransferFile); ibFileOpen := FALSE; end; { уменьшить на единицу число текущих соединений для того, чтобы в будущем можно было принять больше поступающих запросов на подключение } iiNumConnected := iiNumConnected -1; end; { конец CloseConnection } Приведенные выше процедуры и функции расположены в файле Wserve.pas, остальные процедуры WEB-сервера тривиальны и в основном на- правлены на поддержку Delphi-программирования. Рассматриваемый сервер обслуживает только одно соединение в данный момент времени, не поддерживает современный протокол HTTP 1.1, в нем отсутствует поддержка технологий CGI и ISAPI расширения функционально- сти, средств безопасности и поддержки для аутентификации клиента и шиф- рования связи, обслуживает запросы на перекачку только ограниченного ко- личества типов файлов, не имеет средств восстановления при сбоях и др. Разработка универсального ядра WEB-сервера является трудоемкой задачей, причем именно здесь отлично проявил себя ‘принцип открытого кода’ – лучший WEB-сервер Apache (около 60% применений) совершенствуется именно таким способом. Для простой пересылки файлов между удаленными компьютерами удобно также использовать высокоуровневые компоненты TClientSocket и TServer- Socket, реализующие клиентский и серверный сокеты соответственно. Также можно использовать входящие в поставку Delphi компоненты вышеупомяну- той фирмы NetMasters - TNMMsgServ и TNMMsg (серверная и клиентская час- ти; компоненты предназначены для обмена текстовыми сообщениями), TNMStrmServ и TNMStrm (серверная и клиентская части; компоненты предна- значены для обмена потоками данных) и TNMUDP (компонент, реализующий протокол UDP - User Datagrаm Protocol, см. RFC768). - 51 -
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »