Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Именованные каналы

Сокеты

Применение WEB-технологий

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

На одном из компьютеров главного офиса устанавливается web-сервер (например, Apache или Microsoft Internet Information Server). Здесь же устанавливается серверная СУБД (MY SQL, MS SQL, Posgre SQL или другая). С целью обеспечения возможности обрабатывать запросы клиентов, выбирая данные из базы данных и формируя ответ в виде HTML-страницы, на серверном компьютере устанавливается интерпретатор PHP для Apache или активизируется поддержка так называемых активных серверных страниц, то есть ASP (Active Server Pages) для IIS. Таким образом, серверные программы могут быть написаны на PHP, Visual Basic. Возможно применение CGI (Common Gateway Interface) – технологии, позволяющей писать серверные программы на С++ и других языках. Клиентские приложения разрабатываются в форме web-клиента на базе Internet Explorer, Opera или другого браузера, обрабатывающего скрипты на VBScript или JavaSCript.

Сокет – абстракция, которую можно определить как «точка соединения». Инициатора соединения называют сокет-клиентом, а сокет-сервер должен постоянно находиться в режиме ожидания запросов на соединение.

Понятие сокетов было введено с целью скрытия от прикладного программиста особенностей реализации транспортного протокола. Оставшаяся на виду характеристика соединения – это тип связи: TCP (то есть связь с установлением соединения, с квитированием и правильной сборкой пакетов) или UDP (дейтаграммный способ связи, при котором не устанавливается соединение, не гарантируется доставка пакетов, но, по сравнению с TCP, UDP – гораздо более быстрый и экономный способ связи).

Обратите внимание на то, что приложение может быть сокет-клиентом или сокет-сервером или сокет-клиентом и сокет-сервером одновременно. Такую двойную роль играют приложения-распределители. Например, для реализации системы похожей на ACQ, потребуется использовать клиентский сокет в программе, устанавливаемой у пользователя (ACQ-клиента), для организации соединения с ACQ-сервером и передачи ему данных о присоединении. Во время соединения ACQ-сервер может по этому установленному соединению передать список активных пользователей. После такого обмена соединение может быть разорвано, т.к. держать много одновременно открытых соединений слишком накладно для ACQ-сервера. Поэтому для того чтобы передать сообщение от одного пользователя другому теперь уже серверу придется выступить в роли сокет-клиента, установить соединение с адресатом и передать ему сообщение. Чтобы принять это сообщение ACQ-клиент, в свою очередь, должен иметь серверный сокет. Таким образом, и у ACQ-сервера и у ACQ-клиента должно быть по два сокета: один серверный – прослушивающий, а второй клиентский – запрашивающий.

Программировать сокеты можно пользуясь API-функциями или пользуясь соответствующими объектами.

Именованные каналы – это еще один способ передачи сообщений между процессами, работающими на одном компьютере или на разных компьютерах в локальной сети. Этот механизм отсутствует в Windows Me, 95, 98. Именованные каналы могут использоваться как на дуплексных, так и на симплексных линиях связи.

Так же, как и сокеты, это – двусторонний протокол. Идея метода состоит в том, что на серверной стороне объявляется именованный канал. На клиентской стороне устанавливается соединение с этим каналом. А дальнейший обмен информацией похож на обычную работу с файлами: любая сторона может писать – посылать в канал данные или читать – получать из канала поток байтов. Кстати, любопытно, что в UNIX именованный канал считается просто одним из файловых типов.

Чтобы иметь возможность одновременно обрабатывать запросы нескольких клиентов, сервер именованного канала может быть написан в виде многонитиевого (многопотокового) приложения – по одной нити на одного клиента.

<== предыдущая лекция | следующая лекция ==>
Использование командных файлов и скриптов | Окно проекта, окно свойств, окно кода, окно немедленно выполняемых команд, окно контрольных значений
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 331; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.