Home

Page 215
Page 215
background image

208 Глава 5

и должно быть, ведь Microsoft не может по-человечески, и их программи-
стам обязательно надо выделиться.

Сразу же предупрежу, что мы будем изучать WinSock2, a Delphi поддержива-

ет только первую версию. Чтобы она смогла увидеть вторую, нужно под-

ключить заголовочные файлы для этой версии. На диске к книге вы можете

найти нужные файлы в директории
Вся работа сетевой библиотеки построена вокруг понятия socket — это как

бы виртуальный сетевой канал. Для соединения с сервером вы должны
подготовить такой канал к работе и потом можете соединяться с любым

портом сервера. Лучше всего увидеть это на практике, но я попробую дать

вам сейчас общий алгоритм работы с сокетами.

1. Инициализируем библиотеку WinSock.

2. Инициализируем socket (канал для связи). После инициализации у нас

должна быть переменная, указывающая на новый канал. Созданный со-

кет — это, можно сказать, открытый порт на вашем компьютере. Порты
есть не только на сервере, но и у клиента, и когда происходит передача

данных между компьютерами, то она происходит между сетевыми порта-

ми.

3. Можно присоединяться к серверу. В каждой функции для работы с сетью

первым параметром обязательно указывается переменная, указывающая
на созданный канал, через который будет происходить соединение.

5.1.1. Инициализация WinSock

Самое первое, что надо сделать — инициализировать библиотеку (для

UNIX-подобных ОС это не нужно делать). Для этого необходимо вызвать

функцию

 У нее есть два параметра:

 Версия WinSock, которую мы хотим использовать. Для версии 1.0 нужно

указать

 НО

 нам нужна вторая, значит, будем указывать

 Структура типа

 TWSADATA, В

 которой будет возвращена информация

о найденном WinSock.

Теперь узнаем, как нужно закрывать библиотеку. Для этого нужно вызвать

функцию

 у которой нет параметров. В принципе, если ты не

закроешь WinSock, то ничего критического не произойдет. После выхода из
программы все само закроется, просто освобождение ненужного сразу после

использования является хорошим тоном в профаммировании.

Пример инициализации

Давайте сразу напишем пример, который будет инициализировать WinSock

и выводить на экран информацию о нем. Создайте в Delphi новый проект.


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

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