# 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 → AniLabXAniLabX → AniLabX MAXAniLabX MAX → AniLabXAniLabX MAX → AniLabX MAX