Модуль xml_rpc_server

Материал из Felix2
Перейти к: навигация, поиск


Модуль реализует XML RPC сервер, который обеспечивает вызов функций из загруженных модулей по протоколу XML RPC.

Параметры конфигурации модуля:

  • allow_ip – список IP адресов, диапазонов адресов, и/или подсетей с которых разрешен доступ к серверу (по умолчанию доступ разрешен с любого адреса).
  • send_timeout – таймаут передачи пакета данных (по умолчанию – 5 секунд).
  • recv_timeout – таймаут приема пакета данных (по умолчанию – 15 секунд).


Дополнительные (вложенные) элементы:

  • <bind> - позволяет задать IP адрес и порт (TCP), на котором будет работать сервер. Допустимо использовать несколько элементов, чтобы задать несколько IP адресов/портов для сервера.
    • address – IP адрес (или имя) на котором сервер будет принимать соединения (по умолчанию 0.0.0.0, т.е. все IP адреса, зарегистрированные в системе).
    • port – TCP порт для входящих соединений.
  • <task_runner> - конфигурация менеджера задач (для каждого вызова функции создается задача обработки этого вызова).
    • max_thread_count – максимальное число потоков обработки задач (по умолчанию - 5).
    • stack_size – размер стека (в байтах) для потока обработки задачи (по умолчанию – 1048576 байт).
    • queue_size – максимальный размер очереди задач (по умолчанию - 100).


Пример конфигурации:

<xml_rpc_server allow_ip="10.1.1.0/24 10.20.30.40 1.1.1.1-2.2.2.2">
    <bind address="localhost" port="1113" />
    <bind address="10.1.1.1" port="1113"/>
    <task_runner max_thread_count="10" stack_size="2097152" queue_size="200" />
</xml_rpc_server>