Zeroconf mDNS на Android?

9

Можно ли запустить сервер Zeroconf mDNS на моем телефоне Android? Что-то вроде Avahi в Linux.

Причина, по которой я спрашиваю, заключается в том, что я запускаю SSH / SFTP-сервер на своем телефоне для передачи файлов с телефона. Прямо сейчас я должен подключиться, используя локальный IP-адрес ( 10.1.0.x), и IP-адрес меняется через DHCP. Я хотел бы просто иметь возможность подключиться к своему телефону по .localадресу.

Я не думаю, что динамический DNS будет работать, потому что я хочу, чтобы мой адрес локальной сети (частный IP 10.1.0.x) не был моим общедоступным IP-адресом NAT.

мистифицировать
источник

Ответы:

1

Есть ли у вас контроль над (предположительно беспроводной) локальной сетью, к которой вы подключаете свой телефон? Мне кажется, что основная часть вашей проблемы заключается в том, что ваш телефон воспринимает разные IP-адреса каждый раз, когда он подключается к вашей локальной сети. Если у него всегда был один и тот же IP-адрес, вы можете либо сделать это, сохранить его в своем SSH-клиенте или присвоить имя этому IP-адресу на других компьютерах, используя файл HOSTS или аналогичный.

Вы контролируете свою сеть, или вы знаете человека, который это? Вы (или они) должны иметь возможность назначить статический IP-адрес или зарезервированный IP-адрес вашему устройству, чтобы при каждом подключении телефона к локальной сети он всегда принимал один и тот же IP-адрес.

Если это небольшая персональная сеть, то это будет просто настройка записи вашего устройства на маршрутизаторе, если это более крупная сеть, то она будет настроена на DHCP-сервере, и соответствующая запись имени также может быть установлена ​​на их внутреннем устройстве. DNS, чтобы дать вам постоянное имя.

GAThrawn
источник
Спасибо, это было то, что я в итоге сделал - я назначил статическое сопоставление DHCP для телефона на моем маршрутизаторе, а затем добавил этот IP на свой локальный DNS-сервер. Решил проблему для меня, но это не обязательно решит ее для других.
Джош
Просто в качестве комментария: я часто меняю сети, но я все же хочу, чтобы мои устройства знали адреса друг друга, так что это не общее решение. Было бы лучше, если бы Android поддерживал Zeroconf.
rptb1
Это решение отлично работает в домашних условиях ... но в устройствах с Android они, как правило, портативные ... и в наши дни, как и компьютеры! :) Подключение с моего ноутбука к телефону - это то, что я хотел бы легко сделать где угодно, когда они находятся в одной сети, независимо от того, контролирую я это или нет. mDNS предоставил решение этой проблемы много лет назад ... все еще невозможно использовать преимущества Android?
Джош
@ Джош, первоначальный вопрос был сфокусирован на устройстве, которое нужно было бы обнаружить в определенной сети, если вам нужно решение, которое будет работать, когда вы перемещаетесь между разными сетями (и разными типами сетей), тогда это другой вопрос. Пожалуйста, задайте свой новый вопрос, и не стесняйтесь возвращаться к этому вопросу с указанием различий в ваших потребностях.
GAThrawn
3

В настоящее время нет демона Avahi на Android, и нужно открыть билет # 354 на трекере Avahi, где есть прикрепленные патчи, чтобы сделать возможной сборку для Android.

Вы можете попробовать собрать его вручную, если это действительно необходимо.

Penguinolog
источник
1
Все еще нет демона avahi на Android? :)
Mazze
Вау, это действительно шокирующе и жалко одновременно. Приведенная выше ссылка, кстати, мертва, такой страницы на трекере Avahi нет. Это отстой, это грустно и не очень хорошая инженерия! На самом деле мне придется каждый раз вводить разные IP-адреса, просто потому, что Android слишком туп, чтобы это получить.
Маркус Бавидаман