Перейти к содержанию
Fire Monkey от А до Я
  • 0

узнать IP удаленного компьютера по имени хоста


x11

Вопрос

Опубликовано

Есть ПК на базе Windows или хост в интернете. Нужно узнать его IP. Это может быть, как локальная сеть, так и интернет.

Когда вводишь имя (host), то получается, что такое имя приложение не находит: failed to locate host machine.

Но если я ввожу IP адрес, то проблем нет.

Android-приложение подключается к базе Firebird. Firebird SQL Server установлен на ПК под управлением Windows.

Android-приложение  использует DevArt UniDAC и это всё работает через Firebird библиотеку (libfbclient.so).

В windows-приложении можно вводить без проблем хоть имя, хоть IP.

Рекомендуемые сообщения

  • 0
Опубликовано

Скорее всего, приложение на мобильном не знает этот host (не может найти в dns), а WINS на android вроде нет.

Пропишите корректно в dns этот хост, или вручную разрешайте ip-адрес https://developer.android.com/reference/android/net/Network.html#getAllByName(java.lang.String)

  • 0
Опубликовано
38 минут назад, mazayhin сказал:

Скорее всего, приложение на мобильном не знает этот host (не может найти в dns), а WINS на android вроде нет.

У меня такая же проблема была, когда я виндовую папку хотел примонтировать в Линуксе. Получалось только по IP. Но сами виндовые компы друг друга отображают в сетевом окружении по имени.

  • 0
Опубликовано

На винде они о друг друге узнают по Netbios, и знают свои имена отуда. На линуксе вроде надо что то подкрутить, что бы заработало. Если есть wins сервер, то спрашивают у него. И если мы запросим компьютер по имени, которое не подходит для netbios, например, содержит ".", то система лезет в днс.

Пропишите в днс имя и все. Если в локалке, то хотя бы на роутере

  • 0
Опубликовано
33 минуты назад, mazayhin сказал:

На винде они о друг друге узнают по Netbios,

Это для винды. Линуховский аналог по мере сил называется Samba. Через самбу общаться особо извращённый секс. Но если мы говорим конкретно про андроид, то там кроме самбы есть куча других вариантов, начиная с MTP.

Касательно изначального вопроса - проблема или в настройки DNS сетёвки, или что просто надо сначала выяснить IP по имени, а потом что-то с ним (IP) делать.
 

  • 0
Опубликовано

Собственно, об этом и писал.

x11, пишите свой ip (можно в личку), если надо временно на нашем dns пропишем. Можно хоть серый хоть белый, если проброс пробос портов настроен. Потестируете, потом у себя поднимите

  • 0
Опубликовано
3 часа назад, mazayhin сказал:

x11, пишите свой ip (можно в личку), если надо временно на нашем dns пропишем.

 

15 часов назад, x11 сказал:

Это может быть, как локальная сеть

 

  • 0
Опубликовано
26 минут назад, x11 сказал:

 

 

Тогда свой dns сервер, хоть на роутере. 

А так dns'у без разницы, что в той же А-записи стоит. Можете хоть fire-monkey.ru у себя в 127.0.0.1 резолвить

  • 0
Опубликовано

А что толку, что Вы внесёте мой локальный IP? Допустим, программа будет работать только внутри локальной сети офиса.

  • 0
Опубликовано (изменено)

Ну так если посмотреть, то dns продают как услугу многие.

Я предложил временный вариант для теста вашего приложения, если нет своего сервера, прописать в нашей тестовой зоне А-запись типа "x11-fmx.test.mmreg.net", которая глобально доступна. Если есть доступ в интернет в локальной сети, этот имя бы отрезолвилось в нужный IP, хоть повторюсь, в 192.168.0.1.

Если работа только в локалке, на своем роутере, в разделе DNS пропишите этот адрес, и проблема будет решена.

---

Попробуйте в командной строке выполнить nslookup fmsxforum.test.mmreg.net он отрезольвится в адрес моего рабочего компьютера, 192.168.4.8

Изменено пользователем mazayhin
добавил a-запись
  • 0
Опубликовано

Кстати если стоит задача определения IP локального компьютера-сервера, то это легко узнается через броткаст на .255 адрес. В ответе сервера должен содержаться его IP, и остальные действия обращения должны быть уже на этот IP. Лично я всегда так делаю. Много лет и разных инсталляций полёт нормальный. Если мы говорим про интернет, то проще всего DNS.

 

  • 0
Опубликовано
1 час назад, Akad сказал:

Кстати если стоит задача определения IP локального компьютера-сервера, то это легко узнается через броткаст на .255 адрес. В ответе сервера должен содержаться его IP, и остальные действия обращения должны быть уже на этот IP. Лично я всегда так делаю. Много лет и разных инсталляций полёт нормальный. Если мы говорим про интернет, то проще всего DNS.

 

Ну да, в одном широковещательном домене годное решение, дальше то не пройдет.

Но опять же и в локалке больше нескольких компов с сервисами, наверное, лучше искать в dns. Да и роутер в ней точно будет, и прописать не составит проблем

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...