【问题标题】:Genymotion communicate with socket in different local subnetGenymotion 与不同本地子网中的套接字通信
【发布时间】:2016-07-16 04:10:19
【问题描述】:

我有一个虚拟机托管位于 192.168.18 的服务器。此服务器正在端口 20000 上侦听来自我的 Android 应用程序的连接。我在本地执行此操作是为了进行测试。

Genymotion 虚拟机位于 192.168.57.1​​,它似乎无法与其他服务器通信。

有没有办法改变 Genymotion 使其在 192.168.1/24 子网中运行,或者有办法让它们正常通信?

【问题讨论】:

    标签: java android sockets virtualbox genymotion


    【解决方案1】:

    您可以轻松实现这一点。您需要让 Genymotion 设备使用桥接网络连接而不是 NAT。

    • 打开 VirtualBox
    • 选择您想在本地网络上看到的设备
    • 点击设置
    • 打开“网络”选项卡和适配器 2
    • 然后从 NAT 切换到桥接适配器
    • 启动您的 Genymotion 设备

    之后,您的本地 DHCP 将处理此新设备并为其分配本地 IP。然后,您将能够从它访问您的本地网络。

    注意:这应该很快直接从 Genymotion 软件处理,无需打开 VirtualBox 进行此设置。

    【讨论】:

    • 谢谢!那行得通。现在我遇到的另一个不相关的问题是我的套接字无法连接到在 192.168.1.18 托管我的服务器的虚拟机。我的 Genymotion VM 现在托管在 192.168.1.19。应用程序一直在加载,直到最终 TCP 连接超时。您知道为什么会发生这种情况吗?
    • 首先尝试从设备 ping 您的服务器(使用 adb shell)。如果成功,我建议检查您是如何实现请求的。
    猜你喜欢
    • 2017-07-08
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2011-11-24
    • 1970-01-01
    • 2011-10-12
    相关资源
    最近更新 更多