React Native Expo应用程序无法访问计算机上运行的服务器

时间:2018-11-25 18:32:35

标签: node.js react-native server expo

我已经建立了两个项目。第一个是我正在使用Expo在手机上测试的React Native应用程序。第二个是在我的计算机上运行的标准node.js服务器。

我已通过以下apiCall过滤了react native应用程序中的所有axios请求,以便完整的URL附加到该URL(包括ip),并可以在需要时在一个地方更新。< / p>

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来运行它。今天,我决定在咖啡店工作。我的手机和计算机都连接到相同的wifi(需要密码才能访问它)。当我到达这里时,我将url更新为我的计算机现在反映的ip地址,但是api调用没有通过。我在服务器项目中的请求顶部放置了一个控制台日志,它没有出现。客户端项目报告insuccessful post, error: [Error: Network Error]

如果重要的话,我通过遍历系统偏好设置并将其从“网络”页面的Wi-Fi is connected to *wifi name* and has the IP address *172.16.21.223*.行中拉出,发现两个ip地址的使用方式相同。

我想知道咖啡馆的wifi是否具有某种阻止访问的安全功能。我将不胜感激。 (如果没有任何效果,我将再次在家里进行处理!)

0 个答案:

没有答案