Delphi 3. Библиотека программиста

Что такое Winsock?


Winsock — сокращение от «Windows Sockets», это интерфейсная прослойка между Windows-приложением и базовой сетью TCP/IP. Интерфейс сокетов впервые появился в Berkeley Unix как API для работы с сетями TCP/IP. Winsock базируется на Berkeley Sockets API и включает большую часть стандартных функций BSD API, а также некоторые расширения, специфические для Windows. Поддержка сетевого взаимодействия через TCP/IP в Windows-программе сводится к вызову функций Winsock API и использованию библиоте ки WINSOCK.DLL, реализующей интерфейс Winsock.

Программисту на Delphi проще всего работать с Winsock API с помощью компонентов. В этой главе мы создадим компонент CsSocket, инкапсулирую щий Winsock API. Он обладает несколькими несомненными достоинствами:

API становится составной частью Delphi VCL;
инкапсуляция облегчает многократное использование кода;
приложение-клиент видит четкий интерфейс, работа с которым происходит через свойства и методы.

Несомненно, компонент CsSocket удобен для программирования на Delphi, но он не претендует на полноту. На фундаменте CsSocket вы сможете построить дочерние компоненты, предназначенные для работы с любым специали зированным Internet-протоколом. Компонент Winsock, поддерживающий все известные Internet-протоколы, получился бы слишком сложным и громоздким. Вместо этого мы воспользуемся CsSocket как основой для создания новых компонентов, работающих с конкретными протоколами.

Например, компонент для работы с гипертекстовым протоколом (HTTP) создается так:

  1. Создайте новый компонент, производный от CsSocket.
  2. В конструкторе нового компонента задайте свойству Service значение HTTP.
  3. Добавьте методы и свойства, необходимые для работы с HTTP.

В следующей главе мы посмотрим, как это делается, на примере компонента для клиентского приложения FTP.



Содержание раздела