Использование дейтаграмм для удаленного вызова процедур

Использование дейтаграмм для удаленного вызова процедур

Обычно дейтаграммы применяются для реализации RPC. По сути дела, в самых распространенных ситуациях клиент посылает запрос серверу, используя дейтаграммы. Поскольку доставка запроса не гарантируется, клиент должен повторно передать запрос, если по истечении заданного периода ожидания ответ от сервера (для посылки которого также используются дейтаграммы) не получен. Сервер должен быть готов к тому, что один и тот же запрос может направляться ему несколько раз.

Важно отметить, что ни клиенту, ни серверу RPC служебные сигналы, которые, например, необходимы при образовании соединения через потоковый сокет, не требуются; вместо этого они связываются друг с другом посредством запросов и ответов. В качестве дополнительной возможности RPC может гарантировать надежность взаимодействия путем повторной передачи запросов по истечении периода ожидания, что упрощает разработку приложений. Выражаясь иначе, часто говорят о том, что клиент и сервер RPC не имеют состояния (они не хранят никакой информации относительно состояния текущего запроса или запросов, на которые еще не получен ответ). Отсюда следует, что результат обработки на сервере множества идентичных клиентских запросов будет тем же, что и результат обработки одиночного запроса. Это также значительно упрощает проектирование приложений и реализацию их логики.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

7.3.2. Методы удаленного вызова процедур

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

7.3.2. Методы удаленного вызова процедур Несмотря немногочисленные исключения, такие как NFS (Network File System) и проект GNOM€, попытки заимствовать технологии CORBA, ASN.1 и другие формы интерфейса удаленного вызова процедур в основном провалились. Данные технологии не прижились в


7.3.2. Методы удаленного вызова процедур

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

7.3.2. Методы удаленного вызова процедур Несмотря немногочисленные исключения, такие как NFS (Network File System) и проект GNOME, попытки заимствовать технологии CORBA, ASN.1 и другие формы интерфейса удаленного вызова процедур в основном провалились. Данные технологии не прижились в


Использование серверов удаленного доступа, поддерживающих графический интерфейс

Из книги Сетевые средства Linux автора Смит Родерик В.

Использование серверов удаленного доступа, поддерживающих графический интерфейс Серверы удаленного доступа, поддерживающие графический интерфейс, в основном нужны тогда, когда компьютер должен выполнять роль рабочей станции для нескольких пользователей, работающих


Использование средств удаленного администрирования

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Использование средств удаленного администрирования В некоторых случаях возникает необходимость выполнять администрирование системы с удаленного компьютера. Справиться с этой задачей помогают специализированные инструменты. Эти средства можно использовать и


Использование средств удаленного администрирования для настройки различных версий Linux

Из книги VBA для чайников автора Каммингс Стив

Использование средств удаленного администрирования для настройки различных версий Linux Все инструментальные средства, рассматриваемые в этой главе, могут работать с различными версиями Linux. Основная трудность, возникающая при этом, состоит в том, что в программе


17.6. Использование дейтаграмм UDP

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

17.6. Использование дейтаграмм UDP Наряду с тем, что большинство приложений пользуются преимуществами потокового протокола TCP, некоторые предпочитают применять UDP. Давайте рассмотрим несколько причин, по которым дейтаграммная модель без установления соединений,


17.6.2. Отправка и получение дейтаграмм

Из книги Операционная система UNIX автора Робачевский Андрей М.

17.6.2. Отправка и получение дейтаграмм Для отправки и получения UDP-пакетов обычно используются четыре системных вызова[141]: send(), sendto(), recv(), recvfrom()[142].#include <sys/types.h>#include <sys/sockets.h>int send(int s, const void * data, size_t len, int flags);int sendto(int s, const void * data, size_t len, int flags, const struct sockaddr * to, socklen_t toLen);int recv(int


Отличия процедур типа Function от процедур типа Sub

Из книги C++ для начинающих автора Липпман Стенли

Отличия процедур типа Function от процедур типа Sub Между процедурами типа Function и типа Sub есть одно существенное отличие: в процедуре типа Function обязательно где-то должен присутствовать по крайней мере один оператор, задающий значение этой функции. При этом используется имя


Использование локальных процедур

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

Использование локальных процедур Объявление процедуры локальной помогает избежать многих ошибок. Поскольку в таком случае можно вызывать процедуру только в рамках содержащего ее модуля, легче контролировать условия, которые складываются во время вызова (эти условия


Семантика вызова

Из книги автора

Семантика вызова Вызов локальной процедуры однозначно приводит к ее выполнению, после чего управление возвращается в головную программу. Иначе дело обстоит при вызове удаленной процедуры. Невозможно установить, когда конкретно будет выполняться процедура, будет ли она


15.5. Оператор вызова функции

Из книги автора

15.5. Оператор вызова функции Оператор вызова функции может быть перегружен для объектов типа класса. (Мы уже видели, как он используется, при рассмотрении объектов-функций в разделе 12.3.) Если определен класс, представляющий некоторую операцию, то для ее вызова


2.3. UDP: протокол пользовательских дейтаграмм

Из книги автора

2.3. UDP: протокол пользовательских дейтаграмм UDP — это простой протокол транспортного уровня. Он описывается в документе RFC 768 [93]. Приложение записывает в сокет UDP дейтаграмму (datagram), которая инкапсулируется (encapsulate) или, иначе говоря, упаковывается либо в дейтаграмму IPv4, либо


Контекст системного вызова

Из книги автора

Контекст системного вызова Как уже обсуждалось в главе 3, "Управление процессами", при выполнении системного вызова ядро работает в контексте процесса. Указатель current указывает на текущее задание, которое и есть процессом, выполняющим системный вызов.В контексте процесса


Передача и прием дейтаграмм UDP

Из книги автора

Передача и прием дейтаграмм UDP Класс QUdpSocket может использоваться для отправки и приема дейтаграмм UDP. UDP — это ненадежный, ориентированный на дейтаграммы протокол. Некоторые приложения применяют протокол UDP, поскольку с ним легче работать, чем с протоколом TCP. По протоколу