Home

Page 219
Page 219
background image

 Глава 5

5.1.2. Подготовка разъема

Прежде чем производить соединение с сервером, надо еще подготовить

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

цию socket, у которой есть три параметра.

 Тип используемой адресации. Нас интересует Интернет, поэтому мы

дем указывать

 PF_INET ИЛИ

 Как видите, оба значения очень по-

хожи и показывают одну и ту же адресацию. Первый из них мы будем

использовать при синхронной работе, а второй

 при асинхронной.

Всегда лучше сразу же определиться, с каким типом порта мы сейчас

ботаем.

• Базовый протокол. Здесь мы должны указать, на основе какого протоко-

ла будет происходить работа. Если вы прочитали документы о сетях на

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

протокола: TCP (с надежным соединением) и UDP (не производящий

соединений, а просто подающий данные в порт). Для TCP в этом пара-
метре надо указать

 а если нужен UDP, то указывайте

 Вот здесь мы можем указывать, какой конкретно протокол нас интересу-

ет. Возможных значений тут очень много (например,

IPPORT_ECHO, IPPORT_FTP

 и т. д.). Если хотите увидеть все, то открывайте

файл winsock2.pas и запускайте поиск

 IPPORT_, И

 все, что вы найде-

те,

 это и будут возможные протоколы.

Теперь я хочу вас познакомить с синхронностью и

 работы

порта. Разница в этих двух режимах следующая.
Синхронная работа: когда вы вызываете функцию, то программа останавли-

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

единение или ошибка.

Асинхронная работа: в этом режиме программа не спотыкается о каждую

сетевую функцию. Допустим, что вы сделали все тот же запрос на соедине-
ние с сервером. Ваша программа посылает запрос на соединение и тут же

продолжает выполнять следующие действия, не дожидаясь физического

контакта с сервером. Это очень удобно (но тяжело в программировании),
потому что можно использовать время ожидания контакта в своих целях.

Единственное, что вы не можете делать — вызывать сетевые функции, пока

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


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

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