Перейти к содержанию
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

Ну так если посмотреть, то 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 эмодзи.

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

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

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

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