Приложение React Native Expo не может получить доступ к серверу, запущенному на компьютере - PullRequest
0 голосов
/ 25 ноября 2018

Я создал два проекта.Во-первых, это встроенное приложение, которое я тестирую на своем телефоне с помощью Expo.Второй - это стандартный сервер node.js, который работает на моем компьютере.

Я отфильтровал все запросы axios в собственном приложении реагирования через следующий apiCall, чтобы к нему был привязан полный URL (включая ip), и я мог обновить его в одном месте, когда мне было нужноto.

apiCall.js:

import axios from 'axios';

// made an apiCall function to connect to server
export default async ({ url, method, data }) => {
  console.log('in apiCall');
  try {
    // const reqUrl = `http://192.168.1.9:5000${url}`; // home
    const reqUrl = `https://172.16.21.223:5000${url}`; // coffee shop

    let response = await axios({
      url: reqUrl,
      method,
      data
    });

    return response.data;

  } catch (err) {
    console.log('inside catch of apiCall');

    if (err.response && err.response.data) {
      throw new Error(err.response.data.message)
    }
    throw new Error(err.message);
  }
}

Вчера я запустил это, используя домашний URL.Сегодня я решил поработать в кофейне.И мой телефон и компьютер подключены к одному и тому же Wi-Fi (который требовал пароль для доступа к нему).Когда я попал сюда, я обновил свой URL до IP-адреса, который теперь отображает мой компьютер, но вызовы API не проходят.Я разместил консольный журнал в верхней части запроса в проекте сервера, и он не отображается.Проект клиента сообщает insuccessful post, error: [Error: Network Error].

Если это важно, я нашел оба ip-адреса одинаково, пройдя через Системные настройки и вытащив его из строки Wi-Fi is connected to *wifi name* and has the IP address *172.16.21.223*. на странице Сеть.

Мне интересно, есть ли в кафе в кафе какая-то функция безопасности, которая препятствует доступу.Буду признателен за любую помощь, которая может быть предложена.(А если ничего не получится, я просто поработаю над этим дома снова!)

...