Home

Page 220
Page 220
background image

Сеть на низком уровне 213

Соединение

 готов, а значит можно произвести соединение с сервером. Для этого в

библиотеки

 есть функция connect. У этой функции есть три пара-

метра:

 Переменная-сокет, которую мы получили после вызова функции socket.
 Структура ТИПа
 Размер структуры, указанной во втором параметре. Для того чтобы узнать

размер, можно воспользоваться функцией

 и указать в качестве

параметра структуру.

Структура TSockAddr очень сложная, и описывать ее полностью нет смысла.

Лучше мы познакомимся с ней на практике, а пока я перечислю только ос-

новные поля, которые должны быть заполнены:

 — семейство используемой адресации. Здесь нужно указывать

то же, что указывали в первом параметре при создании сокета (для нас

это

 или

 — адрес сервера, куда мы хотим присоединиться;

 — порт, к которому

На деле это будет выглядеть так:

var

addr: TSockAddr;

begin

addr.sin_family
addr.sin_addr :=
addr.sin_port := htons(21);

end;

Ну и напоследок — функция для закрытия соединения —
В качестве параметра нужно указать переменную — сокет.

5.2. Самый быстрый сканер портов

Мы уже познакомились с основными функциями библиотеки WinSock.
Я показал, как и что нужно инициализировать, и как произвести соедине-
ние с сервером. Если вы помните принцип работы сканера портов

 4.3), то должны уже понять, что этого вполне достаточно. Сканер

портов просто пытается присоединиться к портам удаленного компьютера,

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

новим рассмотрение WinSock и напишем сканер портов, чтобы закрепить


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

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