Expo получает локальный IP-адрес устройства

#react-native #expo

#react-native #expo

Вопрос:

Я разрабатываю мобильное приложение с использованием Expo framework (react native).

Мне нужно найти локальный IP-адрес устройства, чтобы подключиться к определенному устройству в интрасети.

Пожалуйста, проведите меня через эту задачу.

Спасибо

Ответ №1:

https://docs.expo.io/versions/latest/sdk/network/#networkgetipaddressasync

 await Network.getIpAddressAsync();
// "92.168.32.44
 

Комментарии:

1. Я пробовал этот метод, но он выдает общедоступный IP-адрес устройства. Но мне нужен локальный IP-адрес, назначенный устройству в локальной сети

2. Симулятор iOS использует сеть хост-компьютера, поэтому вы должны иметь возможность просто использовать localhost или IP-адрес вашего компьютера, в зависимости от того, какой IP-адрес прослушивает ваша веб-служба.

Ответ №2:

Вы можете использовать Expo Network.getIpAddressAsync(), который возвращает обещание, поэтому сначала вам нужно его разрешить.

Вот пример:

 import * as Network from 'expo-network';

const ipAlert = async () => {
  const ip = await Network.getIpAddressAsync()
  alert(ip);
};

ipAlert();