反应本地博览会 - 响应超时

时间:2017-08-18 15:02:38

标签: android ios node.js reactjs react-native

我尝试使用Expo和Create React Native App在我的Android模拟器和我的Iphone中运行应用程序。

我'运行以下命令来执行此操作。

create-react-native-app MyFirstApp

npm run android

执行运行命令后,应用程序在模拟器中运行,并出现以下错误:

Something went wrong! Could not load *ip*. Network response timed out.

Uncaught error: java.net.SocketTimeoutException: connect timed out.

当我在Iphone上扫描QR码并且无法通过网络浏览器访问ip时,会发生同样的事情。

我在互联网上发现了以下修复程序,但似乎没有任何效果:

  • 将端口19000添加到Windows防火墙中的入站规则
  • 更新Java和npm
  • npm start而不是npm run android

编辑:

我安装了Expo XDE来启动服务器。当我使用隧道时它工作正常,但重新加载更改时该选项非常慢。它仍然不能与localhost或LAN一起使用。我是否有可能使用端口转发之类的东西在我的路由器上打开这个端口?

另外:当我在Google Chrome中打字:localhost:19000时,我会收到一些Json。但是,当我参加世博会时,这并不起作用!

5 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。我的问题是VirtualBox安装了几个虚拟以太网适配器,而NPM正在选择其中一个。禁用控制面板中的那些&gt; <控制面板的所有项目>网络连接,Expo应用程序按预期连接。

答案 1 :(得分:3)

修正了问题!我刚刚找到了以下解决方案:

转到cmd并输入ipconfig

获取虚拟机的ip4地址并复制它。

转到电脑&gt;属性&gt;高级系统设置&gt;环境变量并添加以下系统变量:REACT_NATIVE_PACKAGER_HOSTNAME

因为变量的值我必须粘贴虚拟机的ip4。

答案 2 :(得分:0)

Windows防火墙阻止了该请求。您可以为端口19000和19001定义两个入站规则

答案 3 :(得分:0)

您可以通过定义包含以下内容的.exprc文件来配置端口:

{
  "manifestPort": 8000
}

答案 4 :(得分:-1)

我有同样的问题。我禁用了所有其他网络适配器,并启用了WIFI适配器。 其次,您还可以更改适配器的优先级,它也会起作用