C++ учебное руководство RPC? [закрытый]

ВЫБЕРИТЕ FOR UPDATE, и эквиваленты хороши, если Вы держите блокировку для микроскопического количества времени, но для макроскопической суммы (например, пользователь загрузили данные и не нажал, 'сохраняют' Вас, должен использовать оптимистичный параллелизм как выше. (Который я всегда думаю, неверно называется - это более пессимистично, чем 'последние победы писателя', который обычно является единственной другой альтернативой, которую рассматривают.)

8
задан jessehouwing 29 December 2016 в 20:01
поделиться

5 ответов

Попробуйте следующее:

Обзор

Технический справочник - также описывает, что это такое и как работает

7
ответ дан 5 December 2019 в 06:38
поделиться

почему вы хотите изучать "чистый" RPC? есть много хороших реализаций RPC более высокого уровня:

  1. реализации CORBA
  2. буферы протокола Google
  3. Thrift
4
ответ дан 5 December 2019 в 06:38
поделиться

You need to learn 3 different things probably:

  • The C++ programming language
  • RPC
  • Some C++ RPC library
2
ответ дан 5 December 2019 в 06:38
поделиться

Я бы начал с примеров Platform SDK на RPC .

  • ASYNCRPC иллюстрирует структуру RPC-приложения, которое использует асинхронные удаленные вызовы процедур. Также демонстрируются различные способы уведомления о завершении вызова.
  • CLUUID демонстрирует использование UUID объекта-клиента, чтобы позволить клиенту выбирать из нескольких реализаций удаленной процедуры. Каталог
  • DATA содержит четыре программы:
    • DUNION иллюстрирует размеченные (неинкапсулированные) объединения;
    • INOUT демонстрирует параметры [in], [out];
    • REPAS демонстрирует атрибут submit_as;
    • XMIT демонстрирует атрибут transfer_as.
  • DYNEPT демонстрирует клиентское приложение, управляющее своим подключением к серверу через динамические конечные точки.
  • Каталог FILEREP содержит четыре примера, иллюстрирующих, как разработчики могут написать простую службу репликации файлов, многопользовательскую службу репликации файлов, службу, поддерживающую функции безопасности, и службу, использующую асинхронные каналы RPC.
  • HANDLES каталог содержит три программы, AUTO, CXHNDL, USRDEF, которые демонстрируют auto_handle, [context_handle] и общие (определяемые пользователем) дескрипторы соответственно.
  • HELLO - это клиент-серверная реализация «Hello, world». Каталог
  • PICKLE содержит две программы:
    • PICKLP демонстрирует сериализацию процедуры данных;
    • PICKLT демонстрирует сериализацию типа данных; обе программы используют атрибуты [encode] и [decode].
  • PIPES демонстрирует использование конструктора типа трубы.
  • RPCSVC демонстрирует реализацию службы с RPC.
  • STROUT демонстрирует, как выделить память на сервере для двумерного объекта (массива указателей) и передать его обратно клиенту в качестве параметра только [out]. Затем клиент освобождает память. Этот метод позволяет заглушке вызывать сервер, не зная заранее, сколько данных будет возвращено.
9
ответ дан 5 December 2019 в 06:38
поделиться

RPC == "Удаленный вызов процедуры"

По сути, это идея о том, что связь между двумя конечными точками лучше всего моделируется на основе концепции этих конечных точек, выполняющих логические вызовы функций друг с другом. В общем, одна сторона каким-то образом «публикует» API (например, если вы используете SOAP, обычно у вас будет файл с именем WSDL (произносится wizdel), в котором перечислены функции, на которые вы отвечаете ... клиент сначала загрузит ваш WSDL, а затем выполнять вызовы доступных API) ... В наши дни почти все доступные технологии будут накладывать свои конкретные протоколы на HTTP (например, веб-службы, UPnP, REST). Это обычно означает, что вы серверы реализованы поверх веб-серверов ...

Итак, если все, что вам нужно реализовать, это клиентская сторона,

2
ответ дан 5 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: