
Евгений
23.08.2018
14:39:17

Dshk :)
23.08.2018
14:49:25
Всем привет)
Вопрос такой, может кто-то натыкался на удобно собранную инфу по паттернам проектирования? В идеале в формате плюсы/минусы. Чтобы, например, знать какой конкретно паттерн лучше использовать, если есть ограничения по памяти или ресурсам, а какой в этом случае, наоборот лучше не использовать

Alexander
23.08.2018
14:51:16

Dshk :)
23.08.2018
14:51:24
А в какой?

Google

Alexander
23.08.2018
14:51:44

Dshk :)
23.08.2018
14:52:09

Ned Ogl
23.08.2018
16:23:28
Друзья-товарищи, подскажите, пожалуйста. Есть два хоста соединённые ethernet кабелем. На обоих рандомные сетевые настройки, они заведомо не в одной подсети. Как сделать так, чтобы они смогли пообщаться?

Ruslan
23.08.2018
16:24:09
перевести в одну подсеть

Ned Ogl
23.08.2018
16:24:18
Нет такой возможности
речь о каком-то глобальном широковещании

Ruslan
23.08.2018
16:24:42
выставив автонастройки сети и там и сям

Ned Ogl
23.08.2018
16:24:49
один должен широковещать, а второй - слушать и отвечать на этот пакет
один из девайсов - мой комп/ноут/итд
второй - чёрный ящик
поскольку я проектирую этот чёрный ящик, я хочу оставить себе такую лазейку

Ruslan
23.08.2018
16:25:41
ноут-то перевести в эту же подсеть можно

Google

Ned Ogl
23.08.2018
16:25:43
как это реализовать?
ну вот стоит мой чёрный ящик на объекте в поле, я пришёл к нему подцепиться. ОТКУДА Я БУДУ ЗНАТЬ ЕГО ПОДСЕТЬ?

Ruslan
23.08.2018
16:26:16
пффф

Ned Ogl
23.08.2018
16:26:28
с большой вероятностью буду, да, но если нет?
любой вариант с переменой настроек на одном из хостов - исключён
нужно послать броадкаст пакет
куда и как его слать?

Ruslan
23.08.2018
16:27:35
броадкаст на то и броадкаст, что у него нет дестинейшена
включашеь вайршарк
и ловишь поцкетики

Ned Ogl
23.08.2018
16:28:22
отставить
пакетики никуда не идут

Ruslan
23.08.2018
16:29:08
сам же сказал - кабель есть
раз есть кабель, то траффик будет
У нас на дебажной железке было так - есть ренж адресов
На тестовой хероте адрес выбирался из ренжа
т.е. почти хардкод (опциями/конфигом)
с ноута можно было подключится к железяке, если добавить IP интерфейс из того же ренжа в настройки системы
сканишь порты в ренже и тот, который живой берешь
ну, либо пингуешь на броадкаст адрес

Google

Ruslan
23.08.2018
16:41:05
хз насколько это корректно отрабатывает - не юзал никогда толком

Ned Ogl
23.08.2018
16:41:08
я не могу отловить этот броадкаст как раз
как поймать броадкаст-пакет в локалке?

Ruslan
23.08.2018
16:41:48
поймать?
он дальше стека врятли пойдет
это где-то L3 уровень, наверное
рядом с ARP/IP/etc

Ned Ogl
23.08.2018
16:43:03
мне надо поймать IP-пакет по сути

Ruslan
23.08.2018
16:43:18
нет
это не IP еще
насколько я помню
вощем, подампи таки вайршарком сейчас
мне кажется это L2 пакет, который терминируется в ICMP компоненте
стека
Что-то мне подсказывает, что выше ICMP не проходит такое
Ну, то ICMP есть броадкаст - это по сути Ethernet broadcast
только пейлоад там в виде ICMP пакетика

Ned Ogl
23.08.2018
16:47:08
я хочу как раз реализовать это взаимодействие

Google

Ned Ogl
23.08.2018
16:47:29
программа на десктопе + демон на устройстве

Ruslan
23.08.2018
16:47:41
Дак, у тебя ниже IP нет уровня же

Ned Ogl
23.08.2018
16:47:47
чтобы программа слала броадкастом пакет, устройство ловило и отвечало своими настройками

Ruslan
23.08.2018
16:47:49
доступа к стеку нет?

Ned Ogl
23.08.2018
16:47:51
нет

Ruslan
23.08.2018
16:48:05
может тебе тупо DHCP поднять?
на железке:)

Ned Ogl
23.08.2018
16:48:09
речь идёт о том, как поймать IP-бродкаст

Ruslan
23.08.2018
16:48:14
или клиент

Ned Ogl
23.08.2018
16:48:16
тоже нерезонно
железка - наш продукт, она стоит у заказчика со своим статическим IP, отвечает ему на всю хуйню, итд

Ruslan
23.08.2018
16:49:01
https://stackoverflow.com/questions/8290046/icmp-sockets-linux

Ned Ogl
23.08.2018
16:49:03
я вот такой приехал и не хочу спрашивать у заказчика настройки

Ruslan
23.08.2018
16:49:07
такое штоли надо тебе?
https://github.com/octo/liboping

??
23.08.2018
16:52:28
как выполнять цикл в течении 1 секунды?

Ruslan
23.08.2018
16:56:06
Недолго

Igor
23.08.2018
17:04:38

Ned Ogl
23.08.2018
17:10:27

Google

Ned Ogl
23.08.2018
17:10:30
пинг не проходит

Vitaly
23.08.2018
17:11:30

Ned Ogl
23.08.2018
17:11:56
если что

Max
23.08.2018
17:19:23

Ned Ogl
23.08.2018
17:19:48

Max
23.08.2018
17:25:07

Ruslan
23.08.2018
17:26:06

Max
23.08.2018
17:27:13
хорошо, а какого уровня эта история?
Не забудь, что так как нет уникального адресата, то эти данные получат все, кто слушает. Если будут >2 абонентов, то придётся как-то разруливать синхронизацию.
так же подозреваю, что будут проблемы с маршрутизаторами и излишне умными свитчами. Но я не проверял.

Ned Ogl
23.08.2018
17:29:02
Проходит
не проходит он никуда. я в другой подсети, девайс не пингуется
при этом если адрес шлюз нулями забить, Network Unreachable
я вот не понимаю, почему это не решается UDP-сокетами на одном и том же порту