О приложении к Лабораторной работе № 10
Получившуюся программу (LWP 10 DB . exe), собранную из кусков кода приведённых в данной лабораторной работе, три базы данных (LWP 10- DB - ODBC . mdb, LWP 10- DB - OLE . accdb и LWP 10- DB - OLE - Special . accdb), а также XML-файл для базы данных Wallpapper - DB . xml, использованные в данной работе можно загрузить по ссылке в конце этого материала (сслыка доступна в программном продукте).
Приложение: Исходный код программы и всех сопровождающих файлов с кодом приведён по ссылке в конце этого материала (сслыка доступна в программном продукте).
Варианты заданий: Варианты для выполнения самостоятельных заданий с использованием материала данной работы приведены по ссылке в конце этого материала (сслыка доступна в программном продукте).
Лабораторная работа № 11: Динамическая связь приложений через библиотеку классов
Лабораторная работа № 11: Динамическая связь приложений через библиотеку классов
Содержание
Вводная часть
Удалённый объект: создание библиотеки классов удалённого объекта
Клиент: создание приложения Windows Forms
Сервер: создание консольного приложения
Завершающая часть
О приложении к Лабораторной работе № 11
Вводная часть
В этой работе будет рассмотрена работа с динамически связанными приложениями. Нас интересует именно те случаи, когда одно приложение способно и может при необходимости передавать данные в другое приложение, причём оба приложения запущены в один и тот же момент и для передачи данных не используются временные файла на жёстком диске. Фактически приложения будут общаться друг с другом словно клиент и сервер. То есть это общение будет аналогично общению между удалёнными машинами (через протоколы HTTP, FTP или TELNET). Для реализации данной функциональности лучше всего использоваться так называемые «каналы».
|
|
Для чего может понадобится подобное? Динамическая связь приложений как удалённо, так и на локальной машине удобна для передачи малых объёмов информации. При этом данные передаются по защищённому каналу (данные можно предварительно зашифровать тем же MD 5-хэшем). Также, такая связь приложений не оставляет лишнего «мусора» изначально. А также, возможно реализовать удалённое взаимодействие клиента и сервера.
Что такое каналы?
Каналы используются инфраструктурой удалённого взаимодействия платформы .NET Framework для передачи удаленных вызовов. Если клиент вызывает удаленный объект, вызов «сериализуется» (перевод структуры данных в последовательность битов) в сообщение, которое отправляется по клиентскому каналу, а получается по каналу сервера. После получения сообщения, оно «десериализуется» и обрабатывается. Возвращаемые значения передаются по каналу сервера, а их получение производится по каналу клиента.
|
|
Класс IpcChannel является удобным классом, в котором сочетаются функциональные возможности класса IpcClientChannel и класса IpcServerChannel.
Для работы с каналами нам потребуются следующие пространства имён:
1. Обеспечивает реализацию канала, который использует протокол межпроцессорного взаимодействия для передачи сообщений.
Пространство имён: System.Runtime.Remoting.Channels.Ipc;
Сборка: System.Runtime.Remoting (в System.Runtime.Remoting.dll).
2. А также основные пространства имён:
System.Runtime.Remoting;
System.Runtime.Remoting.Channels;
Что такое IPC ?
Межпроцессное взаимодействие (Inter - Process Communication, IPC) — набор способов обмена данными между множеством потоков в одном или более процессах. Процессы могут быть запущены на одном или более компьютерах, связанных между собой сетью. IPC -способы делятся на методы обмена сообщениями, синхронизации, разделяемой памяти и удалённых вызовов (RPC). Методы IPC зависят от пропускной способности и задержки взаимодействия между потоками и типа передаваемых данных.
IPC также может упоминаться как межпотоковое взаимодействие (inter - thread communication), межпоточное взаимодействие и межпрограммное взаимодействие (inter - application communication). IPC наряду с концепцией адресного пространства является основой для разграничения адресного пространства.
|
|
Что будет представлять собой приложение, разрабатываемое в данной работе?
Первое приложение будет представлять собой окно пустое Windows Forms. Так будет реализован клиент. Реализация сервера будет в виде консольного окна. Удалённый объект будет сформирован в виде библиотеки классов. Всего три проекта и три готовых объекта, два из которых — приложения.
Дата добавления: 2019-09-13; просмотров: 137; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!