Александр, точно так же как в любым сетевым соединением: есть сервер, есть клиент, между ними есть соединение, которое может оборваться в любой момент времени и всякое такое. Для этого используются готовые библиотеки. Как именно - смотрите в документации библиотек.
Мне нужно сохранять и обрабатыывть данные, если делать напрямую в вебсокете, я буду тормозить поток.
Веб-Сокеты - это протокол, а не что-то, внутри чего можно что-то делать или вычислять. Скорость обработки соединений и переданных по ним данных зависят от кода, который это всё обрабатывает. Если вам так важны миллисекунды на обработке некоего вашего потока, тогда используйте голые сокеты в вашем приложении с любым бинарным сериализатором без дополнительных протоколов поверх, а так же используйте C/C++/Rust и прочие компилируемые быстрые языки для обработки ваших данных. Кроме того, судя по описанию вашей задачи несколько миллисекунд на работу никак не повлияет на ваши процессы.
Поэтому я думал использовать брокер
Так ведь любой брокер добавит дополнительно время сообщениям, находящимся в вашем потоке данных.
zatim, ну, раз вы так говорите, что разницы нет, то получается что девайс не работает/периодически отрубается или работает очень нестабильно от копеечной зарядки для телефона из-за полтергейста, а от нормального блока питания работает нормально просто потому что. Как и не бывает в бытовой сети квадратных синусоид, а то и вообще с пиками и провалами, не бывает высокочастотных помех от микроволновок, как и не бывает скачков от сварочного аппарата у какого-нибудь соседа.
Hfnas, редмайн бесплатный - ставится на свой сервер (некоторые хостеры даже предлагают готовые машины с установленным редмайном), трелло тоже. Хабстафф раньше для персонального использования тоже был, сейчас - точно не скажу. Для работы вполне можете запросить оплату от работодателя. Кроме того, есть и бесплатные аналоги.
YrarrsPizza, требования - это не название вашего серверного приложения. Это что-то типа "нам надо процессор, который на одном ядре в однопоточном режиме выдаёт столько-то попугаев в такой-то банановой измерительной системе". Кроме того, европейские и американские ЦОДы обычно самыми первыми обновляют своё оборудование на новое железо. В России нет такого объема рынка вычислений и наши ЦОДы обновляют своё железо с задержкой и куда реже.
YrarrsPizza, нету? Вы это ща серьезно? Что у вас там за требования, раз не хватает современных топовых процессоров? И которые якобы есть только в ЦОДах России, а в Европе нету.
Elbro, ничего странного: на входе ноутбука стоит схема дополнительной стабилизации и контроллёр заряда батареи - поэтому ноутбуки обычно спокойно переваривают плохое входное напряжение. Кроме того, обычно сам по себе блок питания ноутбука тоже со стабилизацией выхода. Поэтому USB порты ноутбука выдают достаточно качественное питание в рамках USB стандарта. Про разницу между зарядками и стабилизированными блоками питания я вам уже выше объяснил. Если вас это так сильно удивляет и кажется странным, то может быть стоит получше изучить основы электроники и схемотехники?
Elbro, при наличии отдельной схемы со стабилизатором/преобразователем питания и прочей логической обвязкой для работы в роли бесперебойника и зарядки аккумулятора - то вполне возможно. В этом случае схема будет стабилизировать/преобразовывать напряжение и питать ваш девайс при наличии напряжения в сети сразу от сети, в то время, как аккумулятор не будет использоваться. При отключении сети - будет переключать на аккумулятор.
Elbro, это "не звучит логично", а факт. "запуск" и "постоянная работа" - это вещи несколько разные, как и качество ЗУ, а так же качество напряжения сети, куда они включены и качество целевого девайса. Например, ЗУ в городе спокойно питает девайс, а в деревне - не работает, т.к. в деревне напряжение пониженное, а в городе наоборот чуть завышенное. Или, на плате может стоять дополнительный стабилизатор/фильтры. Это лотерея - поэтому и получается, что что-то где-то с чем-то работает, а что-то - нет.
Аккумулятору-то в принципе всё равно на качество подаваемого на него электричества, да диапазон у него широкий для заряда - ему главное не сгореть от перегрева и он спокойно наберёт заряд. Аккумуляторы-то сейчас все химические. Поэтому на зарядках экономят - там главное выдать амперы и примерное напряжение. А вот для питания электроники очень важны такие параметры как напряжение, стабильность и ток. Многие электронные компоненты рассчитаны на работу в строго определенном, зачастую довольно узком диапазоне, и выход напряжения за его пределы в лучшем случае просто не даёт компоненту работать, а в худшем может вывести из строя. И вот как раз для питания электроники и применяют специализированные блоки питания с дополнительными компонентами для стабилизации напряжения и улучшения его качества.
Dmitry Bay, то, что греется - это минусом можно считать, только если для охлаждения нужна турбина или водянка, в остальных случаях - лишь особенности работы техники. Любая электроника греется - что-то сильнее, что-то меньше. Вот когда сильно греется и нужно мощное и шумное охлаждение - тогда да, это проблема. А это 250-300 ватт тепловыделения - вот тогда да, проблема. А такое тепловыделение только на рипперах да 4090. В роутере такому железу делать нечего. У мини-ПК такая проблема может быть только если там турбина в очень тесном корпусе и слабой СО. В остальных же случаях надо просто брать подходящий девайс под задачи. Селерон вообще спокойно маленьким пассивным радиатором охлаждается. Проблема же шума в ПК решается установкой нормальной СО, тихих кулеров и правильной организацией внутреннего пространства корпуса.
i__egor, или обновите студию и версию языка в вашем проекте или используйте следующий метод: System.Array.Empty<object>() или new object[0].
Так-то студия выдаёт подсказки, что данный синтаксис в текущей версии недоступен и следует использовать более старый вариант.
Петровский, воот, теперь мне ваша позиция стала более понятна. С точки зрения минимальных прикладываемых усилий - да, надо использовать сразу готовое решение. Тут вы полностью правы. Но тогда, в этом случае уж лучше не HA брать, а что-то типа готового вендроного набора-коробки "всё в одном". Там воткнул и оно работает, но с нюансами типа через китайские или еще какие сервера, даже в локальной сети если, которые могут тоже глючить, а без инета и свет не включить и прочее-прочее. А HA это всё же больше решение для DIY, кастомизации и гибкости. А какая гибкость и настраиваемость, если ставить непонятно кем собранную ОС с непонятно каким софтом? Поэтому я и указал, что лучше сразу ставить нормальный дебиан для полного контроля над девайсом и ОС, чтобы потом, если вдруг чего-то захочется не пришлось переустанавливать эту самую HA OS. А этот красный "Caution" явно для нубов, которые ну вот вообще ничего не знают.
Про глючность апельсинки не могу сказать ничего конкретного: использовал несколько раз для тестирования и отладки некоторых проектов - в целом работала нормально.
Алексей Кухаричев, дык роутер же - фильтрация веб-трафика от спама, локальный DNS, впн/вг и прочее. Сам использовал долгое время - прекраснейшее решение для роутера, топ я считаю. Юзал всякие опенврт и прочие кастомные прошивки для роутеров - после удобства фряхи и фич сенса обратно не хочу.
Петровский, не "только", а еще и "Supervised" тоже все фичи (синие галочки - это тоже галочки, просто синие, а не зелёные, а по факту - там просто чуть ниже дополнение написано почему синие, а не зелёные). А вы сами-то ставили разные версии и вообще используете его HA? Я ставил все версии, кроме HA OS - это просто готовая сборка для малинки с установленным HA. А вот на апельсинку её не поставить, как и на любой другой аналог.
Наличие дебиана, как вы предлагаете, это просто вредный совет
Это вам может он и вредный. Не нравится - не пользуйтесь. А вообще, аргументируйте, чем это плоха официально поддерживаемая малинкой ось? Так-то официальная ось малинки - это тот же дебиан кастомизирвоанный, как и HA OS. Кроме того, Supervised ставится именно на дебиан. В целом же дебиан - одна из самых стабильных ОС и она прекрасно поддерживается как малинкой, так и апельсинкой. Можно, конечно, поставить любую другую ОС - ну, тут уже надо быть готовым к приключениям. Апельсинка, кстати, еще и арч поддерживает.
Довольный Айтишникъ, HA точно работает везде, куда можно поставить *nix (даже на фряхе работает отлично). Петровский Да, на Pi3 в принципе работает, но ощутимо медленее, чем на Pi4. А если ТС туда ещё что-то захочет поставить - то ресурсы уже всё, кончатся. Довольный Айтишникъ в общем, при текущих ценах на малинки/апельсинки и ваших задачах рекомендую взять мини-ПК - это более универсальное решение. Там, где нужен только HA, малое энергопотребление - малинка/апельсинка, если таких требований нет и хочется ещё что-то поставить или поиграться - то мини-ПК на селероне.
Петровский, в общем-то это предупреждение сводится к:
Home Assistant Supervised requires users to maintain their own operating system.
Ставится же он там просто из пакетов и по факту работает в том же докере - это даже проще, чем поставить ось на SSD диск и заставить малинку или апельсинку с неё грузиться (а это тот еще цирк с конями - надо сначала погуглить и почитать маны).
Плюс только в этом режиме есть все фичи: https://www.home-assistant.io/installation/#advanc...
Веб-Сокеты - это протокол, а не что-то, внутри чего можно что-то делать или вычислять. Скорость обработки соединений и переданных по ним данных зависят от кода, который это всё обрабатывает. Если вам так важны миллисекунды на обработке некоего вашего потока, тогда используйте голые сокеты в вашем приложении с любым бинарным сериализатором без дополнительных протоколов поверх, а так же используйте C/C++/Rust и прочие компилируемые быстрые языки для обработки ваших данных. Кроме того, судя по описанию вашей задачи несколько миллисекунд на работу никак не повлияет на ваши процессы.
Так ведь любой брокер добавит дополнительно время сообщениям, находящимся в вашем потоке данных.