Есть такая классная простая программа для вашего телефона: Remote Volume Control. Он делает одну простую вещь – позволяет вам регулировать громкость на вашем компьютере (ПК).
Удобно: включи фильм, упади в гамак, а когда вдруг возникнет необходимость, прибавь громкость.
Внезапно, в один чудесный день, программа просто молча перестала работать.
Никаких обновлений не было, настройки сети не менялись.
Как-то я не привык, чтобы программы вдруг ломались и переставали работать самостоятельно.
В общем, под катом я расскажу, как идет расследование и чем обернулось дело.
Отвлекаясь от темы, вообще говоря, есть веб-интерфейс и даже специализированный клиент для vlc, который, кроме всего прочего, позволяет регулировать громкость, но у него есть два недостатка: он не будет работать ни на других плеерах, ни на ютубе и во-вторых , это медленно (потому что TCP).
Возвращаясь к теме, Remote Volume Control — это очень простая программа, позволяющая изменять общую громкость системы.
Для работы также необходимо запустить простой консольный сервер, он работает мгновенно, а также может отключать монитор.
Мне никогда не нужно выключать монитор, но отключение питания помогло бы.
ну нет-нет, мы не об этом.
В общем, внезапно программа просто незаметно перестала работать.
Я ломал голову над тем, что может быть не так.
Я удалил некоторые недавно установленные программы, думал, кто-то занял их порт или что-то в этом роде.
Просто не пробовал.
Под конец я уже использую Netcat Я начал изучать протокол, в отчаянной попытке понять, что может быть не так.
Так вот эта штука работает через UDP и занимает порт 5555. Она просто отправляет команду и вроде бы не ожидает никакого ответа.
Что, с одной стороны, круто: работает очень быстро.
С другой стороны, полное отсутствие обратной связи: вообще не понятно, получено сообщение или нет. Сам протокол.
"протокол" - очень громкое слово, просто при изменении громкости с телефона "0,25" всплывает, например, прямо в тексте.
Это означает 25% объема.
И по команде «выключить монитор» приходит 1.00, вот и весь протокол.
С помощью того же netcat попробовал эмулировать клиент, возможно серверная часть "гнилая" и что-то с ней не так, написал ту же 0.25. безуспешно, сервер вообще не реагировал (причём при нормальной работе там видно какая громкость установлена).
Установил сниффер, опять что-то написал в netcat и тут бац, монитор гаснет. Думаю: «обычный сниффер, он убил мою систему».
Оказалось, что монитор отключил мой сервер и с Remote Volume Control, и по команде, и написал об этом в консоли.
«Вот это интересно», — подумал я.
Смотрю на последнее, что отправил — «123».
Пишу еще раз «123», и монитор гаснет корректно.
Также гаснет, если написать «321», «12», любые цифры, а если встречается буква, то реакции нет. А если написать легальную команду на выключение монитора «1.00», то тоже тишина.
И тут меня осенило: десятичная точка.
Ну и конечно же, я пишу «1.00» и монитор гаснет. «0,25» — это 25% объема.
Вспомнил, что некоторое время назад из-за одной программы, несмотря ни на что, хоть это и был брокерский клиент альфа-банка, я был вынужден сменить региональные настройки на русский.
Я зашёл в региональные настройки, поменял десятичный разделитель с запятой на точку и у меня всё заработало.
Теги: #iphone #объем #Анализ и проектирование систем
-
Новое Приложение «Медуза». Почему Флаттер?
19 Oct, 24 -
Ближе К Людям.
19 Oct, 24