如何将套接字连接到托管服务器的 Genymotion 设备?

How to connect a socket to Genymotion device that is hosting a server?

我目前正在尝试建立从我的客户端(iOS 模拟器)到我的主机(Genymotion 模拟器)的套接字连接。我很难找到正确的 IP 地址并为 VirtualBox 配置正确的设置以使其正常工作。

当我在 Genymotion 服务器上托管服务器时,如何找到 iOS 连接的正确 IP 地址和端口?

默认情况下,Genymotion 设备使用 NAT 连接来连接到互联网。这意味着它们在您的本地网络中是不可见的。您可以将此连接更改为桥接连接。这种类型的连接将让您的本地 DHCP 提供 Genymotion 设备的 IP,然后您将能够从本地网络的任何地方访问它。

要解决此问题,请打开 VirtualBox 应用程序,选择您要设置的设备,打开设置 > 网络选项卡 > 适配器 2 > 附加到:"Bridged Adaptor” instead of “NAT"。

然后需要获取设备的本地IP。你可以通过运行这个命令得到它:

adb shell "ifconfig | awk '/inet addr/{print substr($2,6)}' | awk 'NR==2'"

然后您可以使用此 IP 从本地网络的任何地方轻松连接到您的设备。

我们正在努力让这在未来变得更加容易。我会在发布时更新 post。