Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
JSONRPC
Успадковує: Object
Успадковано від: GDScriptLanguageProtocol
Допоможець для обробки словників, які виглядають як JSONRPC документи.
Опис
JSON-RPC є стандартом, який обгортає метод виклику в об'єкті JSON. Об'єкт має певну структуру і визначені, які метод називається, параметри до цієї функції і несе ідентифікатор для відстеження відповідей. Цей клас реалізує цей стандарт у верхній частині Dictionary; вам доведеться конвертувати між Dictionary та JSON з іншими функціями.
Методи
make_notification(method: String, params: Variant) |
|
make_request(method: String, params: Variant, id: Variant) |
|
make_response(result: Variant, id: Variant) |
|
make_response_error(code: int, message: String, id: Variant = null) const |
|
Variant |
process_action(action: Variant, recurse: bool = false) |
String |
process_string(action: String) |
void |
set_method(name: String, callback: Callable) |
Переліки
enum ErrorCode: 🔗
ErrorCode PARSE_ERROR = -32700
Запит не може бути приурочена, оскільки він не був дійсним за стандартом JSON (JSON.parse()).
ErrorCode INVALID_REQUEST = -32600
За запитом, але формат запиту не діє.
ErrorCode METHOD_NOT_FOUND = -32601
За запитом метода, але не існує функції цього імені, що існували в субкласі JSONRPC.
ErrorCode INVALID_PARAMS = -32602
За запитом метода, але задані параметри методу не діє. Не використовується вбудованим JSONRPC.
ErrorCode INTERNAL_ERROR = -32603
Внутрішня помилка сталася при обробці запиту. Не використовується вбудованим JSONRPC.
Описи методів
Dictionary make_notification(method: String, params: Variant) 🔗
Повертає словник у формі сповіщення JSON-RPC. Сповіщення – це одноразові повідомлення, які не очікують відповіді.
method: Ім'я методу, що викликається.params: Масив або словник параметрів, що передаються методу.
Dictionary make_request(method: String, params: Variant, id: Variant) 🔗
Повертає словник у формі JSON-RPC запиту. Запити надсилаються на сервер з очікуванням відповіді. Поле ID використовується сервером для визначення того, на який саме запит він відповідає.
method: Ім'я методу, що викликається.params: Масив або словник параметрів, що передаються методу.id: Унікально ідентифікує цей запит. Очікується, що сервер надішле відповідь з тим самим ідентифікатором.
Dictionary make_response(result: Variant, id: Variant) 🔗
Коли сервер отримав і обробляє запит, він очікується надсилати відповідь. Якщо ви не бажаєте відповіді, то вам потрібно надіслати повідомлення замість цього.
result: Повернення значення функції, яка була викликана.id: Ідентифікатор запиту на цю відповідь.
Dictionary make_response_error(code: int, message: String, id: Variant = null) const 🔗
Створює відповідь, яка вказує на попередню відповідь
code: Код помилки, що відповідає за те, що таке помилка. Побачитиповідомленняmessage: Користувальницьке повідомлення про цю помилку.id: Ця помилка є відповідь.
Variant process_action(action: Variant, recurse: bool = false) 🔗
З урахуванням словника, який приймає форму запиту JSON-RPC: розпакувати запит і запустити його. Методи вирішуються, дивлячись на поле, що називається "метод" і шукаючи еквівалентно названу функцію в об'єкті JSONRPC. Якщо один знайдений метод називається.
Щоб додати нові підтримані методи, подовжуйте клас JSONRPC і зателефонуйте _action() на підкласі.
action: Дія, яка буде працювати, як словник у вигляді запиту JSON-RPC або повідомлення.
String process_string(action: String) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_method(name: String, callback: Callable) 🔗
Реєструє зворотний виклик для заданого імені методу.
name: Ім'я, яке клієнти можуть використовувати для доступу до зворотного виклику.callback: Зворотний виклик, який оброблятиме вказаний метод.