# XRemote

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

XRemote - это low-level протокол для сетевого взаимодествия между приложениями путем обмена сообщениями-командами и полезными данными. Был разработан специально для экосистемы AniLabX, работает только в локальной сети и используется для выполнения определенных задач между приложениями на разных устройствах

В основе состоит из реализаций клиента XRemote×Client, сервера XRemote×Server и дополнительных модулей

# Модуль XRemote×Discovery

Реализует обнаружение совместимых устройств в локальной сети посредством протокола Zeroconf (Bonjour) (opens new window) для последующего автоматического подключения к ним и выполнения задач из других модулей

Данный модуль используется для поиска устройств в локальной сети с запущенным приложением AniLabX для инициализации процесса Синхронизации или Стриминга

Для работы требует включенный mDNS в настройках роутера. Чаще всего, он включен по умолчанию. Также может потребоваться добавить приложение в исключение Брандмауэра (только для ПК приложений)

# Модуль XRemote×Cast

Реализует функционал Стриминга контента подобно протоколу Chromecast, но не зависит от операционной системы и позволяет стримить даже защищенный DRM (opens new window) или дополнительными HTTP-заголовками (opens new window) контент

# Модуль XRemote×Sync

Реализует функционал Синхронизации данных между приложениями без промежуточных серверов (устройства должны находится в одной сети)

Пример возможных пар для синхронизации:

  • AniLabX → AniLabX
  • AniLabX → AniLabX MAX
  • AniLabX MAX → AniLabX
  • AniLabX MAX → AniLabX MAX