Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Сокеты Windows.



Сокеты (Sockets) – это программный интерфейс, который облегчает взаимодействие между различными приложениями. Современные сокеты родились из программного сетевого интерфейса, реализованного в ОС BSD Unix. Тогда этот интерфейс создавался для облегчения работы с TCP/IP, на верхнем уровне. С помощью сокетов легко реализовать большинство известных протоколов, которые используются каждый день при выходе в Интернет. Достаточно только назвать HTTP, FTP, POP3, SMTP и т.п. Все они используют для отправки своих данных или TCP, или UDP и легко программируются с помощью библиотеки sockets/winsock.

Протокол IPX/SPX.

Протокол IPX (Internetwork Packet Exchange) используется только в сетях фирмы Novell. В окнах есть специальная служба Клиент для сетей Novell, с помощью которой можно работать в таких сетях. IPX работает наподобие IP и UDP – без установления связи, а значит без гарантии доставки со всеми последующими достоинствами и недостатками.

Протокол SPX (Sequence Packet Exchange) – это транспорт для IPX, который работает с установлением связи и обеспечивает целостность данных. Для надежности при использовании IPX, необходимо использовать IPX/SPX или IPX/SPX11. Сейчас IPX уже теряет свою популярность.

Из множества протоколов Интернета большинство из них взаимосвязано, как, например, HTTP/TCP/IP. Одни протоколы могут быть предназначены для одной цели, но абсолютно непригодны для другой, потому что создать что-то идеальное невозможно. У каждого будут свои достоинства и недостатки.

Модель OSI, принятая еще на заре появления Интернета, не утратила своей актуальности до сих пор. Главное ее достоинство – скрывать сложность сетевого общения между компьютерами, с чем модель OSI справляется без особых проблем.

Создание собственной утилиты Whois.

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

Для создания утилиты Whois нам понадобится библиотека Indy. В Delphi 7 она уже установлена в системе, и можно приступать к ее использованию.

Запускайте Delphi 7. Создайте новый проект. Перенесите на форму один компонент TEdit, одну кнопку TButton и один компонент ТМеmо (ему можно дать новое имя). Переименуйте свойство Caption у кнопки на «Найти». В компонент TEdit мы будем вводить имя домена, информацию о котором хотим получить. После нажатия кнопки поиска в компоненте ТМеmо будет появляться все, что наша программа сможет найти в сети про указанный домен.

Рис.1.2. Внешний вид будущей программы

Найдите закладку Indy Clients на палитре компонентов и перенесите на форму компонент idwhois с этой закладки. Выделите компонент idwhois и перейдите в окно инспектора объектов. Посмотрите на свойство Host. Здесь вы должны указать адрес сервера, у которого есть сервис Whois. Точнее сказать, вы должны указать именно на этот сервис. По умолчанию стоит адрес whois.internic.net. Его пока менять не надо, потому что он вполне рабочий и очень быстрый. Но если вы хотите изменить этот адрес, то обязательно проверьте, какой порт используется. Если отличный от 43, то вы должны изменить свойство port у компонента IdWhois. В принципе, настройки по умолчанию достаточно работают для любых доменов в зоне COM, ОRG и NET. Если вас интересует что-то специфическое, то только тогда вам может понадобиться смена сервера whois. Если вам нужно узнать информацию о украинском домене.uа, то придется искать украинский сервис. В программировании компоненты Indy так же просты, как и в настройке. Создайте обработчик события onClick для кнопки «Найти».

При создании программы можно придерживаться следующих указаний:

§ Использовать очистку содержимого компонента ТМеmо от текста, оставшегося от предыдущих поисков;

§ При создании строки кода поиска использовать метод whois компонента IdWhois:

FindResult:=IdWhoIs.WhoIs(Edit1.Text)

где, FindResult – переменная строкового типа, Edit1 – имя искомого домена.

§ Результат поиска будет состоять из нескольких строк, а в переменной он будет выглядеть как одна длинная строка, в которой разделителем текстовых строк является шестнадцатеричный символ #10. Чтобы текст выглядел нормально, необходимо отформатировать содержимое переменной FindResult.

Примечание. #10 – код символа перевода каретки (перехода на новую строку), который используется в ОС семейства *nix. В Windows принято конец строки обозначить парой символов #13 и #10.

Для выяснения информации об интересующем имени домена, необходимо запустить вашу программу, и она сама обращается куда надо и показывает вам информацию в удобном для восприятия виде. Работает все просто, потому что компонент отправляет запрос серверу в Интернете (в данном случае whois.internic.net) и получает ответ. Никаких самостоятельных поисков по базам данных не происходит.


Дата добавления: 2015-07-11; просмотров: 56 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.006 сек.)