Как правило, компьютеры и программы, входящие в состав информационной системы, не являются равноправными. Некоторые из них владеют ресурсами (файловая система, процессор, принтер, база данных и т.д.), другие имеют возможность обращаться к этим ресурсам. Компьютер (или программу), управляющий ресурсом, называют сервером этого ресурса (файл-сервер, сервер базы данных, вычислительный сервер .). Клиент и сервер какого-либо ресурса могут находится как в рамках одной вычислительной системы, так и на различных компьютерах, связанных сетью.
Основной принцип технологии "клиент-сервер" заключается в разделении функций приложения на три группы:
ввод и отображение данных (взаимодействие с пользователем);
прикладные функции, характерные для данной предметной области;
функции управления ресурсами (файловой системой, базой данных и т.д.)
Поэтому, в любом приложении выделяются следующие компоненты:
компонент представления данных
прикладной компонент
компонент управления ресурсом
Связь между компонентами осуществляется по определенным правилам, которые называют "протокол взаимодействия".
Со́кеты (англ. socket - углубление, гнездо, разъём) - название программного интерфейса для обеспечения обмена данными между процессами Процессы при таком обмене могут исполняться как на одной ЭВМ , так и на различных ЭВМ, связанных между собой сетью . Сокет - абстрактный объект, представляющий конечную точку соединения.
Следует различать клиентские и серверные сокеты. Клиентские сокеты грубо можно сравнить с оконечными аппаратами телефонной сети , а серверные - с коммутаторами . Клиентское приложение (например, браузер ) использует только клиентские сокеты, а серверное (например, веб-сервер , которому браузер посылает запросы) - как клиентские, так и серверные сокеты. Сокеты позволяют независимо от протокола передачи данных организовать сетевой интерфейс между двумя компьютерами в сети. В частности, сокеты могут работать как с протоколом TCP, так и с протоколом UDP. Обращаться к сокету можно по IP-адресу хост-машины и номеру порта. Сокеты нашли широкое применение во многих сетевых приложениях. Большинство современных операционных систем (такие как Windows, Unix, Linux) поддерживает сокеты на уровне встроенных в ядро библиотек. Различают сокеты с установлением соединения (т. Е. адреса гнезд отправителя и получателя выясняются заранее, до передачи сообщений между ними - устанавливается так называемый виртуальный канал между двумя хостами в сети) и без установления соединения (адреса сокетов отправителя и получателя передаются с каждым пересылаемым сообщением). Для каждого сокета назначается тип, посредством которого определяется способ передачи данных между двумя сокетами. Тип сокета с установлением соединения - это виртуальный канал, а тип сокета без установления соединения - дейтаграмма. В первом случае для передачи данных используется протокол TCP, во втором - UDP. Следовательно, надежность передачи данных в случае дейтаграммных сокетов ниже, зато они работают быстрее виртуальных каналов. Сокеты с установлением соединения взаимодействуют по схеме клиент/сервер: серверному сокету назначается общеизвестный адрес, и оно непрерывно ожидает прибытия клиентских сообщений. Клиентский процесс посылает сообщения на сервер по объявленному адресу серверного сокета.
Все функции работы с сокетами описаны в заголовочном файле winsock2.h. Для успешной сборки программы в опциях компоновщика необходимо указать подключаемую библиотеку ws2_32.lib. Для начала работы с сетью необходимо проинициализировать библиотеку ws2_32. Для этого используется следующая функция: int WSAStartup (unsigned int wVersionRequested, struct WSAData *lpWSAData). Эта функция должна вызываться в самом начале программы, работающей с сокетами. Аргумент wVersionRequested должен содержать значение максимального номера версии библиотеки гнезд, требуемой для корректной работы программы. Функция анализирует переданное ей значение и, если оно меньше либо равно версии библиотеки Ws2_32.dll, то возвращает 0, что соответствует успешной инициализации. В противном случае функция возвращает ненулевое значение, означающее, что данная версия не поддерживается в текущей реализации библиотеки сокетов. Аргумент wVersionRequested формируется из двух байт при помощи макроса MAKEWORD (x,y). Для успешного выполнения функции WSAStartup необходимо в этом аргументе передать указатель на существующую структуру типа WSAData.
Самое читаемое:
Диагностика и ремонт СВ-передатчика
Провести
ремонт радиоэлектронного изделия, значит восстановить его работоспособность.
Чтобы провести ремонт необходимо определить является ли изделие
ремонтопригодным. При ремонте узлы изделия могут быть заменены полностью или
частично. После проведения замены элементов в ремонтируемом изделии необходимо
провести регулировки и наст ...