Обработка исключений

RPC использует тот же механизм обработки исключений, что и Windows API.

Макросы RpcTryFinally / RpcFinally / RpcEndFinally аналогичны конструкциям try-finally. А макросы RpcTryExcept / RpcExcept / RpcEndExcept аналогичны конструкциям try-except.

Коды ошибок исключений могут содержать коды ошибок с префиксами RPC_S_ и RPC_X, возвращаемые функциями RPC, и коды исключений самой Windows.

Исключений, которые возникают в серверном приложении, серверных заглушках и серверной run-time передаются клиенту. Исключения на транспортном уровне сервера клиенту не передаются. Для серверных процедур рекомендуется возвращать ошибки посредством исключений.

Подключение клиента к серверу

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

Базовая терминология RPC

Чтобы лучше понять обсуждение процесса соединения клиента и сервера, необходимо знать следующие термины:

Последовательность протокола (protocol sequence)

Для того, чтобы сетевые операционные системы могли взаимодействовать, необходимо, чтобы они "разговаривали" на одном языке. Эти языки называются последовательностями протокола. Клиентское и серверное приложение должны использовать последовательности протоколов, которые поддерживает сетевая среда, которая их соединяет. Microsoft RPC поддерживает разнообразие последовательностей протоколов.

хост-компьютер сервера или хост-система сервера

Серверная программа работает на хост-компьютере сервера. Однако, в большинстве литературных источников по клиент/серверным технологиям как серверную программу, так и хост-компьютер сервера называют просто "сервер". В результате не всегда понятно о чем именно идет речь.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: