JsonRpc
Помощник для работы со словарями, которые выглядят как документы JSONRPC.
Помощник для работы со словарями, которые выглядят как документы JSONRPC.
JSON-РПК — это стандарт, который оборачивает вызов метода в объект Json. Объект имеет определенную структуру и определяет, какой метод вызывается, параметры этой функции и несет идентификатор для отслеживания ответов. Этот класс реализует этот стандарт поверх Reckfell.Collections.Dictionary; вам придется преобразовывать между Reckfell.Collections.Dictionary и Json с помощью других функций.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
JsonRpcКонструктор
public JsonRpc();Методы8
MakeNotificationReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary MakeNotification(string method, Variant @params);Возвращает словарь в форме уведомления JSON-RPC. Уведомления — это одноразовые сообщения, не ожидающие ответа.
method: Имя вызываемого метода.params: Массив или словарь параметров, передаваемых методу.
| Имя | Тип | По умолчанию |
|---|---|---|
method | string | — |
params | Variant | — |
Reckfell.Collections.DictionaryMakeRequestReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary MakeRequest(string method, Variant @params, Variant id);Возвращает словарь в форме запроса JSON-RPC. Запросы отправляются на сервер с ожиданием ответа. Поле ID используется сервером для указания, на какой именно запрос он отвечает.
method: Имя вызываемого метода.params: Массив или словарь параметров, передаваемых методу.id: Уникально идентифицирует этот запрос. Ожидается, что сервер отправит ответ с тем же ID.
| Имя | Тип | По умолчанию |
|---|---|---|
method | string | — |
params | Variant | — |
id | Variant | — |
Reckfell.Collections.DictionaryMakeResponseReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary MakeResponse(Variant result, Variant id);Когда сервер получил и обработал запрос, ожидается отправка ответа. Если вы не хотели ответа, то вместо этого вам нужно было отправить уведомление.
result: возвращаемое значение вызванной функции.id: идентификатор запроса, на который нацелен этот ответ.
| Имя | Тип | По умолчанию |
|---|---|---|
result | Variant | — |
id | Variant | — |
Reckfell.Collections.DictionaryMakeResponseErrorReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary MakeResponseError(int code, string message, Variant id = default);Создает ответ, который указывает, что предыдущий ответ по какой-то причине не удался.
code: Код ошибки, соответствующий типу ошибки. См. константыJsonRpc.ErrorCode.message: Пользовательское сообщение об этой ошибке.id: Запрос, на который эта ошибка является ответом.
| Имя | Тип | По умолчанию |
|---|---|---|
code | int | — |
message | string | — |
id | Variant | default |
Reckfell.Collections.DictionaryProcessActionVariant
public Variant ProcessAction(Variant action, bool recurse = false);При условии a Dictionary которая принимает форму JSON- Запрос ПЗК: распаковать запрос и выполнить его. Методы решаются путем поиска поля под названием "метод" и поиска эквивалентной функции в JSONRPC Если обнаружен этот метод называется.
Добавить новые поддерживаемые методы JSONRPC класс и звонок JsonRpc.ProcessAction на твоем подклассе.
action:: деятельность, которая должна осуществляться в качестве Dictionary в форме JSON- Запрос или уведомление о ПЗК.
| Имя | Тип | По умолчанию |
|---|---|---|
action | Variant | — |
recurse | bool | false |
VariantProcessStringstring
public string ProcessString(string action);| Имя | Тип | По умолчанию |
|---|---|---|
action | string | — |
stringSetMethodvoid
public void SetMethod(string name, Callable callback);Регистрирует функцию обратного вызова для указанного имени метода.
name: Имя, которое клиенты могут использовать для доступа к функции обратного вызова.callback: Функция обратного вызова, которая будет обрабатывать указанный метод.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
callback | Callable | — |
SetScopevoid
public void SetScope(string scope, ReckfellObject target);| Имя | Тип | По умолчанию |
|---|---|---|
scope | string | — |
target | ReckfellObject | — |
JsonRpc.ErrorCode
| Значение | Описание |
|---|---|
InternalError = -32603 | Произошла внутренняя ошибка при обработке запроса. Не используется встроенным JSONRPC. |
InvalidParams = -32602 | Вызов метода был запрошен, но заданные параметры метода недействительны. Не используется встроенным JSONRPC. ВНУТРЕННИЙ ТЕРРОРИЗМ |
InvalidRequest = -32600 | Был запрошен вызов метода, но формат запроса недопустим. Методы |
MethodNotFound = -32601 | Был запрошен вызов метода, но в подклассе JSONRPC не существует функции с таким именем. |
ParseError = -32700 | Запрос не может быть проанализирован, так как он не соответствует стандарту JSON ( |