无法使用本地网络上的 expo 客户端连接到 expo xde

Posted

技术标签:

【中文标题】无法使用本地网络上的 expo 客户端连接到 expo xde【英文标题】:Unable to connect to expo xde using expo client on local network 【发布时间】:2018-08-15 12:54:25 【问题描述】:

我需要有关 expo xde 的帮助。 创建项目后,当我扫描二维码时,出现以下错误:

there was a problem loading the experience. It looks like you may be using a LAN url. 
Make sure your device is on same network as server or try using a tunnel

exp://*.*.*.*:19000
Error Code: NETWORK_ERROR
Code: -1004

我的移动设备与我的笔记本电脑在同一网络上。我正在使用:

OS: window 10
Node Version: 8.9.4
NPM Version: 4.6.1

它适用于隧道连接,但速度有点慢。

【问题讨论】:

【参考方案1】:

此错误表示移动设备无法连接到笔记本电脑上运行的开发服务器。

可能的原因包括:

您的移动设备和笔记本电脑未连接到同一个 LAN(局域网)。 网络/路由器不允许设备相互连接。 您的笔记本电脑的防火墙阻止了与开发服务器端口(在本例中为端口 19000)的连接。 您的笔记本电脑有多个网络接口,并且 LAN URL 指向的不是移动设备可以连接的网络接口。

要解决此问题,您可以:

使用速度较慢的隧道 URL,但即使设备无法通过 LAN 连接也能正常工作。 更改防火墙设置/使用其他网络。 将您的笔记本电脑连接到您的移动热点。 如果您有多个网络接口并且 XDE 显示错误的 IP 地址,您可以使用 Expo CLI 并使用 EXPO_PACKAGER_HOSTNAME 环境变量设置正确的 IP。 (在 Windows 上)您也可以adjust the priority of your network adapters。 (仅限 android)安装 Android 开发者工具,通过 USB 将您的 Android 设备插入您的笔记本电脑并确保启用USB debugging。 Expo 开发者工具会自动运行adb reverse,这使得设备能够使用localhost URL 通过USB 进行连接。

【讨论】:

感谢@fson 我的笔记本电脑上的两个网络之间存在适配器优先级问题。通过以下链接上的命令解决了这个问题:answers.microsoft.com/en-us/windows/forum/windows_10-networking/… 感谢您告知我们您是如何解决问题的。我已经更新了我的答案以包括这个案例。

以上是关于无法使用本地网络上的 expo 客户端连接到 expo xde的主要内容,如果未能解决你的问题,请参考以下文章

Expo react-native 将无法连接到 socketio(Android 和 iOS)

无法连接到我的Localhost上的WCF服务

无法从连接到 Azure *** 的本地计算机(在家庭网络上)访问专用 AKS 群集

在 iPhone 上使用 expo 时无法从 React Native 应用程序连接到 socket.io 服务器

无法连接到远程服务器上的 mongo

expo ios 模拟器“无法连接到开发服务器”错误(适用于浏览器)