![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Название темы так себе, но все же привет всем.
В общем разрабатываю архитектуру одной системы, встала проблема решить децентрализованное определение устройств по сети. Сеть локальная, т.е. будь то простой роутер с WiFi на борту. Не много объяснения - децентрализованная, т.е. динамически, без какого-либо конкретного сервера, определяется список доступных в локальной сети устройств (мобильный телефон, компьютер и т.п.). Вопрос касается непосредственно технологий которые желательно использовать при реализации данной задачи. Я уже делал подобное для only Windows, но сейчас надо все серьезно делать. Что приходит в голову, так это UDP. Конечно широковещательная рассылка и тот, кто отзовется выдаст свои данные, ну а там уже непосредственное подключение, тот же отличный TCP/IP. Собственно сомнения (обоснованные) дает именно UDP, его потеря пакетов, соответственно работа "через раз" не больно то и устраивает. Пакеты, пока, думаю формировать в JSON (XML - малек жирноват), т.к. придется часто передавать пакет-"пинг" для определения/сканирования сети. Кто что думает/предложит по данному вопросу? Спасибо. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Устройства однотипные? Назначение диспетчера. Формировать уникальные идентификаторы, на основании которого определять кто главный на кухне (диспетчер или арбитр). Каждый передает свой идентификатор, на основании которого уже каждый может решить кто старший и к кому следует обращаться... Если главный выпал из сети - перевыборы (в принципе не обязательно, ведь список идентификаторов уже получен и так ясно кто заместитель). Если пришел новый идентификатор которого является приоритетным, то все вопросы к нему.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 05.08.2011 в 10:37. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
Utkin, похоже на арбитраж в CAN шине
![]()
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
Есть мнение, что слухи об огромных потерях пакетов в UDP слегка преувеличены. По статистике у меня при круглосуточном вещании через трёх провайдеров потери составляют менее 1% (у каждого из провайдеров). Так это в тырнете. А что надо сделать, чтобы пакет потерялся в локалке, я с трудом представляю. В вашем же случае, если выдавать "пинг" раз в секунду, то даже при потере 90% пакетов устройство просто определится не на первой секунде, а на девятой. Имхо, для определения "списка доступных в локальной сети устройств", пойдёт. Есть только одна тонкость. Широковещательные пакеты ходят по своей подсетке. Если их несколько, лучше заюзать мультикаст.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#5 | |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
![]() Цитата:
Вообще можно оптимизировать алгоритм, чтобы определенные устройства сами рассылали сообщения о включении/выключении, тогда нужно в определенный интервал времени подтверждать свое состояние (сообщение "в сети"). |
|
![]() |
![]() |
![]() |
#6 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Спасибо за ответы и советы. Видимо буду разбираться и усовершенствовать систему определения.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C# определение ф-и | Lucky777 | Помощь студентам | 4 | 10.06.2011 01:00 |
Определение по IP | ProgDel | Работа с сетью в Delphi | 3 | 08.11.2010 22:14 |
Определение IP | IvanLex | HTML и CSS | 6 | 28.03.2008 07:46 |
Определение IP | IvanLex | Общие вопросы по Java, Java SE, Kotlin | 1 | 19.02.2008 09:12 |
Определение IP | RKS | Работа с сетью в Delphi | 3 | 13.12.2007 15:43 |