Burado
Спасибо, гляну))
Vsevolod
Где создавали лямбду, там ее и вызывайте!
Anatoly
а что не мультикаст?
если мультикаст это бродкаст, да
Alexey
если мультикаст это бродкаст, да
э? udp умеет и броадкаст и мультикаст. это ж разные штуки.
Andrei
э? udp умеет и броадкаст и мультикаст. это ж разные штуки.
Так это ответственность IP, а не UDP вопрос больше в том, что внешние сети не разрешают ни то, ни другое обычно, чтобы не занимать пропускную способность. но у паря локальная сеть, поэтому прокатит
Anatoly
э? udp умеет и броадкаст и мультикаст. это ж разные штуки.
мультикаст частный случай бродкаста, нет?
Andrei
не уверен, но вроде не совсем. в броадкасте отсылается всем в подсетях A, B,C,D а мультикаст может отправлять нескольким подсетям, но таких нюансов не помню.
Pavel
в мультикаст записываться надо. там вообще ад по сравнению с броадкастом.
Дмитрий ⬡
Мультикаст вообще мало кто умеет кажется
Alexey
Мультикаст вообще мало кто умеет кажется
да ладно, еще 10 лет назад в локалке отлично работало.
Дмитрий ⬡
Alexey
Я про прикладные протоколы
в смысле? UDP умеет, а больше ничего и не надо 😊
Burado
Стоп.
Burado
А как я тогда смогу к одному из них обратиться?
Andrei
в смысле? UDP умеет, а больше ничего и не надо 😊
в данном случае уровень для мельтикаста - сетевой, а это протокл IP
Andrei
UDP протокол уровнем выше. Сам UDP не умеет
Alexey
сам - не умеет. но удобно делать через UDP.
Alexey
вон, даже википедия согласна: "The most common transport layer protocol to use multicast addressing is User Datagram Protocol (UDP). "
Burado
А как я тогда смогу к одному из них обратиться?
Типо, сделаю мультикаст. А как какой-то отдельный сервер то выбрать?
Alexey
дык каждый сервер присылает пакетик с описанием себя любимого - адрес, этаж, цвет трусов. принимающий может выбрать к которому соединяться. всё.
Burado
Аа, спасибо)
vladislav
почему?
Anatoly
Мультикаст частный случай широковещательной рассылки. Что ни в коем случае?
Anton
мультикаст это по подписке, там участвует железка она его может и не уметь. броадкаст должен уметь любой самый тупой свич так как по нему например арп работает
Anatoly
@MasterZiv пришел, увидел, всех послал :)))
Pavel
арп по мультикасту?
Pavel
а можно по подробнее?
Anatoly
Два взаимоисключающих предложения "нет, ни в коем случае" и "это да"
Pavel
тю. обчитался.
Alexander "SonnySlave"
так, уже скатываетесь в философию
Andrei
в техническом смысле нет. В общефилосовском с 1994 года
Alexander "SonnySlave"
ну не оффтопь, прошу же тебя 😊
Anton
Вообще если сервисы тоже свои зачем вообще мультикасты броадкасты какие-то
Anton
zeromq и все дела
Anton
если уж хочется велосипедить пусть они сами шлют свои данные монитору, тупо udp "пинги"
Andrei
если уж хочется велосипедить пусть они сами шлют свои данные монитору, тупо udp "пинги"
+ хорошее решение, когда сам клиент о себе уведомляет, а не сервер ищет своих клиетов.
Anton
ну
Anatoly
где изменил?
Andrei
где изменил?
он просто не понял тебя, так как пытался на все сообщения сразу ответить. Бывает, лучше просто забить
pavel
Ребят, есть вопрос. Есть несколько девайсов, которые выступают серверами в локальной сети с рандомным портом. И есть клиент, который должен создать список найденных серверов. Сам вопрос в этом: как мне найти эти сервера? Подключаться через [1;MAX_PORT] портов и проверять, есть ли это сервером моего приложения?
Есть такая наука "service discovery" - существует центральный реестр всех серверов в виде "zuzu = 10.10.10.55:6152". Каждый сервер имеет имя. Все клиенты ищут это имя. Имя написано у сервака в конфиге. При старте сервак лезет в "реестр" и говорит: "я zuzu, 10.100.10.55:7171" и старая запись переписывается этой. Если в регистре запись протухла (20 минут не обновлялась) - сервера ("сервиса") нет. Например есть некий сервис "bububu" и известно что ему может быть посвящено до 10 физических демонов. Тогда договариваемся что у них имена в диапазоне "bububu0"..."bububu9". Клиенты лезут в service discovery и ищут первое существующее (или берут рандомом любое из всех в этом диапазоне) Похоже на DNS, ага. Можно заюзать некий redis (key=value хранилово). Херачим туда "zuzu=10.10.10.29:8171" ключики и ищем их. Таймаут на хранение ключа. Адрес данного service discovery server (этого redis) тоже лежит в конфиге каждого сервака - каждый сервант при старте знает куда себя прописывать и под каким именем.
Дмитрий ⬡
Есть такая наука "service discovery" - существует центральный реестр всех серверов в виде "zuzu = 10.10.10.55:6152". Каждый сервер имеет имя. Все клиенты ищут это имя. Имя написано у сервака в конфиге. При старте сервак лезет в "реестр" и говорит: "я zuzu, 10.100.10.55:7171" и старая запись переписывается этой. Если в регистре запись протухла (20 минут не обновлялась) - сервера ("сервиса") нет. Например есть некий сервис "bububu" и известно что ему может быть посвящено до 10 физических демонов. Тогда договариваемся что у них имена в диапазоне "bububu0"..."bububu9". Клиенты лезут в service discovery и ищут первое существующее (или берут рандомом любое из всех в этом диапазоне) Похоже на DNS, ага. Можно заюзать некий redis (key=value хранилово). Херачим туда "zuzu=10.10.10.29:8171" ключики и ищем их. Таймаут на хранение ключа. Адрес данного service discovery server (этого redis) тоже лежит в конфиге каждого сервака - каждый сервант при старте знает куда себя прописывать и под каким именем.
Не просто похоже, а DNS есть вариант реализации такой штуки, причём довольно удобный.
pavel
Не просто похоже, а DNS есть вариант реализации такой штуки, причём довольно удобный.
Ну типа да. Просто с точки зрения маркетинга DNS плохо тут упоминать, т.е. он будет напоминать про тормоза - типа обновили запись в корне, а через сутки запись дошла до клиентов)
Дмитрий ⬡
Только DNS нацелен на распределённость, и он не такой уж шустрый в плане hotplug. Можно указать много ответов на нахождение сервиса, нельзя быстро менять, кто где.
pavel
Гугл релизил какие-то мегасистемы для service discovery, типа cubernates, интересно почему им DNS протокола не хватило...
Berkus
нету у них шланга
Alexander "SonnySlave"
нету у них шланга
он навернео про Clang/C2
Berkus
А как я тогда смогу к одному из них обратиться?
бродкастнешь, те серверы которые отзовутся - будешь знать их IP и порты, а дальше как обычно
Berkus
он навернео про Clang/C2
ну это ж левый эксперимент, который закончился
Berkus
а я про продакшен
Berkus
ии
Igor
господа виндоводы с VS2017 и Resharper 2017.3, у кого-нибудь ещё грохается clang.exe при попытке обработать вот эту штуку, или это мне опять везёт как утопленнику? namespace a { namespace b { struct X { using P = std::pair<size_t,size_t>; }; }} namespace { a::b::X::P fun() { return {1,2}; } void run() { auto [width, height] = fun(); } } чё-т я уже второй день подряд разочаровываюсь в плагинах для IDE, применяющих шланг для анализа кода
Igor
на работе мне вчера отломало голову вот такой дичью в йт креаторе https://puu.sh/z4Yx3/cc313019f2.png почему-то тамошний clang code model не отличает члены классов и их методы от локальных переменных (подсветка однотонно синяя, а не красная/фиолетовая/синяя как без кланга), и считает что строки также известны как целые числа
Igor
новый решарпер научился в статический анализ с помощью clang-tidy
Igor
//естественно скачанный с llvm.org clang-tidy на том же исходнике исправно отрабатывает
Igor
новый решарпер научился в статический анализ с помощью clang-tidy
Я из решарпера :) У меня не валится, это полный пример?
Igor
Я из решарпера :) У меня не валится, это полный пример?
в настройках решарпера включен анализ tidy?
Igor
в настройках решарпера включен анализ tidy?
Да. Но наличие std::pair и отсутствие инклюдов наводит на мысль что файл неполный.
Igor
touche, #include <map> забыл скопировать - но в остальном файл полный убираю какую-нибудь ;, добавляю обратно, сохраняю, бдыщ https://puu.sh/z5dGm/e6297205bf.png
Stanislav
починили в 6.0
Vladislav
чому тогда системный 5.0.1 не падает?
видимо системный работает с libcxx?
Igor
чому тогда системный 5.0.1 не падает?
Отличия могут быть действительно в stl и в самом clang-tidy. В решарпере версия из транка собранная в ноябре с небольшими фиксами.
Igor
На 15.5 и это проходит. А у вас какая студия?
15.5.2, попробую обновиться до 15.5.4 )
Stanislav
15.5.2, попробую обновиться до 15.5.4 )
это не поможет, шланг 6.0 найт билд от 11 декабря вылечен от бага
Igor
15.5.2, попробую обновиться до 15.5.4 )
Я думаю разницы там нет. Если не затруднит, можете попробовать на пустом солюшене и если повторится, послать мне или приаттачить к реквесту?
Igor
это не поможет, шланг 6.0 найт билд от 11 декабря вылечен от бага
А что за бага была? В принципе можно clang-tidy пересобрать из релизного бранча 6.0 и положить в 2017.3.2.
Alexander "SonnySlave"
фиксы чисто вам нужные или багов каких-то?
Igor
Фиксы нужны для работы в ide, мы их еще не протолкнули в транк. Поддержка файлов с юникодными именами и vfs overlay в clang-tidy.
Vladislav
Фиксы нужны для работы в ide, мы их еще не протолкнули в транк. Поддержка файлов с юникодными именами и vfs overlay в clang-tidy.
кстати, почему вы решили clang-tidy использовать, а не с libclang линковаться, интересно?