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

[TidIPWatch] Узнаём локальный IP


neohost

Вопрос

Здравствуйте форумчане. Возникла проблема с определением IP адреса на андроид устройстве. Компьютер и андроид подключены к Wi-Fi роутеру. У компьютера адрес 192.168.1.101, у андроида 192.168.1.105. Выше-озвученный компонент под windows показывает корректный адрес, под андроидом 127.0.0.1. Почему??? И как корректно определить внутренний IP адрес?

Ссылка на комментарий

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

  • 0

Ответ от разработчика Indy:

That being said, Indy has trouble retrieving local IP addresses on Android. That has not been addressed yet.

 

Подробности дискуссии c ним на его любимом форуме С++ Builder: http://bcbj.org/forums/viewtopic.php?f=10&t=2591&sid=4b30cbf2c9aafa3d9ca60797d7e86bf0

 

P.S.

Всем рекомендую вопросы по Indy туда на этот форум (не важно код  Дельфи или С++) там всегда ответ из первых рук - главного разработчика Indy rlebeau

Изменено пользователем Kitty
Ссылка на комментарий
  • 0

Kitty спасибо за совет, я предпочитаю общаться на Русских форумах

ZuBy спасибо за ссылку, функция работает корректно

uses
{$IFDEF ANDROID}
 AndroidApi.JNI.Net,
 AndroidApi.JNI.JavaTypes,
 AndroidApi.JNIBridge,
 AndroidApi.JNI.GraphicsContentViewText,
 AndroidApi.Helpers,
{$ENDIF}
...

{$IFDEF ANDROID}
function TfrmMain.GetAddress: string;
var
  WifiManagerObj: JObject;
  WifiManager: JWifiManager;
  WifiInfo: JWifiInfo;
  ip: Integer;
begin
  WifiManagerObj := SharedActivityContext.getSystemService(TJContext.JavaClass.WIFI_SERVICE);
  WifiManager := TJWifiManager.Wrap((WifiManagerObj as ILocalObject).GetObjectID);
  WifiInfo := WifiManager.getConnectionInfo();
  ip := WifiInfo.GetIPAddress;
  Result := Format('%d.%d.%d.%d', [ip and $FF, ip shr 8 and $FF, ip shr 16 and $FF, ip shr 24 and $FF]);
end;
{$ENDIF}
Изменено пользователем neohost
Ссылка на комментарий

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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