На этом шаге мы рассмотрим элементы управления страницы FastNet.
На этой странице собраны компоненты, предназначенные для быстрой разработки приложений Интернет и интранет, использующих ту или иную службу, или сервис Интернет, или протокол (HTTP, UDP) и работающих по протоколу TCP/IP. Все эти компоненты перечислены в таблице 1.
Компоненты TNMURL и TNMUUProcessor выполняют утилитарные задачи: первый преобразует строку в формате URL в "обычную" строку символов и обратно; второй - кодирует и декодирует данные по стандарту MIME и UUEncode. Эти компоненты выполняют вспомогательную роль в приложениях.
В конце панели FastNet представлены два компонента: TPowersock и TNMGeneralServer. Первый компонент инкапсулирует API сокетов Windows и является базовым классом для большинства компонентов страницы FastNet за исключением компонентов TNMUDP, TNMURL и TNMUUProcessor. Его можно использовать для создания элементов управления, использующих другие известные протоколы, или для создания своих собственных протоколов.
Компонент TNMGeneralServer используется для создания серверов TCP/IP общего назначения в качестве базового класса для многопотоковых серверов Интернет или интранет.
Для использования этих компонентов необходим 32-х битный стек протоколов TCP/IP (библиотека WSOCK32.DLL), которая включена в операционные системы Windows 95, 98, 2000, Windows NT и Windows XP.
Компонент TStatusBar - строка состояния, часто используется в различных программах. Если во время разработки программы присваивайте свойству SimplePanel этого компонента значение True. В этом случае в строке состояния можно будет выводить только одну строку, которая должна помещаться в свойство SimpleText. Если свойству SimplePanel присвоить значение False, то в строке состояния можно завести несколько панелей сообщений и в каждую выводить свой текст. Для этой цели используется свойство Panels. При его выборе загружается редактор свойств коллекции объектов, в котором можно создать нужное количество панелей и настроить их внешний вид.
Поскольку компонент TPowersock является базовым для большинства компонентов панели FastNet, то многие свойства, методы и события этих компонентов совпадают.
Из общих свойств всех компонентов можно отметить свойства HostPort и TimeOut. В свойстве Host указывается имя или IP-адрес удаленного компьютера, с которым устанавливается связь. В свойстве Port указывается номер порта протокола TCP/IP на удаленной машине, по которому с ней нужно связываться. В свойстве TimeOut указывается временной интервал в миллисекундах, в течение которого программа будет ожидать ответа от сокета удаленной машины. Если по истечении этого времени ответ не поступит, будет возбуждаться исключительная ситуация. Если этому свойству задать значение 0, то ответ будет ожидаться бесконечно долго, пока не будет получен. Но если он все-таки не придет, то приложение зависнет. Поэтому лучше указывать ненулевое число, а по том подбирать его значение с учетом пропускной способности сети.
Среди общих методов нужно упомянуть методы Connect и Disconnect. Первый из них применяется для установления связи с удаленной машиной. Второй - для разрыва установленного соединения.
Среди общих свойств компонентов можно упомянуть свойства ОnСоnnect, OnConnectionFailed, OnConnectionRequired, OnDisconnect, OnError, OnHostResolved, OnlnvalidHost и OnStatus.
События OnConnect и OnDisconnect происходят в результате успешного выполнения методов Connect и Disconnect. Если процесс установления связи заканчивается ошибкой, происходит событие OnConnectionFailed. Событие OnConnectionRequired происходит после попытки вызова одного из методов, требующих для своей работы подключения к удаленному компьютеру. В обработчике этого события можно выполнить подключение и вернуть через параметр Handled значение True. В этом случае будет повторена попытка вызова того метода, который сгенерировал это со бытие. Если окажется, что соединение не установлено, или если в параметре Handled находится значение False, то метод завершится аварийно и будет возбуждена исключительная ситуация. Событие OnError наступает когда происходит ошибка в работе сокетов Windows. Через параметр ЕrrNo обработчика этого события передается числовой код ошибки, а через второй параметр ErrMsg - строка сообщения об ошибке.
Событие OnHostResolved происходит в случае успешного преобразования имени компьютера в IP-адрес. Событие OnlnvalidHost наступает, если в свойстве Host задано неверное имя или IP-адрес удаленного компьютера. Событие OnStatus генерируется, когда меняется статус компонента.
Получает дату и время от серверов Интернет даты и времени в соответствии со стандартом RFC 867. | |
Посылает простые текстовые сообщения в кодах ASCII по Интернет или интранет с использованием протокола TCP/IP. При этом на хост-компьютере, на который посылается сообщение, должен быть запущен сервер, использующий компонент на основе TNMGeneralServer, например, компонент TNMMsg. | |
Компонент TNMMsgServ необходим для получения сообщений, посланных компонентом TNMMsg. Заметим, что для решения задач правильнее будет разработать свой собственный протокол обмена сообщениями, чем непосредственно использовать компоненты TNMMsg и TNMMsgServ. | |
Используется для отправки и получения сообщений через эхо-сервера Интернет по стандарту RFC 862. | |
Осуществляет передачу файлов в Интернет и интранет между серверами FTP по протоколу FTP (File Transfer Protocol). | |
Выполняет передачу файлов по протоколу HTTP (Hypertext Transfer Protocol). Компонент отвечает стандарту HTTP 1.1, который описывается в спецификации RFC 2068. | |
Применяется для получения и публикации статей через Интернет и интранет по протоколу NNTP (Network News Transfer Protocol). Описан в RFC 977. | |
Используется для пересылки потоков данных компоненту TNMStrmServ в Интернет или интранет. | |
Принимает и пересылает потоки, посланные компонентом TNMStrm. | |
Принимает почтовые сообщения от почтовых серверов по протоколу POP3 (Post Office Protocol). Описан в RFC 822. | |
Отправляет почту через серверы SMTP (Simple Mail Transfer Protocol) и выполняет другие задачи, описанные в стандарте RFC 821. | |
Получает время от серверов времени Интернет по стандарту RFC 868. | |
Передает данные по сети с использованием протокола UDP (User Datagram Protocol). | |
Преобразует строку URL в строку символов и обратно. | |
Кодирует и декодирует файлы по стандарту MIME и UUEncode. | |
Инкапсулирует API сокетов Windows. Компонент является базовым классом для многих компонентов страницы FastNet. Его можно использовать его для создания элементов управления, использующих другие известные протоколы или для создания своих собственных протоколов. | |
Используется для серверов TCP/IP общего назначения. Используется в качестве базового класса для создания многопотоковых Интернет-серверов как поддерживающих стандарты RFC, так и других. | |
Получает информацию о пользователе с finger-сервера Интернет, используя протокол Finger, описанный в стандарте RFC 1288. |
На следующем шаге мы рассмотрим компонент TNMTime страницы FastNet.