在我的案例中,在设备上运行的Android应用程序访问localhost服务器(在MacBook上)

时间:2014-03-13 08:10:04

标签: android macos localhost wildfly

我正在使用MacBook开发Android应用程序。我还开发了一个在我的localhost服务器上运行的Java EE应用程序。 现在,我希望我在设备上运行的Android应用程序与运行在MacBook上的本地主机服务器(wildfly)进行通信。我尝试了以下步骤:

  • 在我的 MacBook 上,我做了以下事情:

    1. 通过适配器连接MacBook和有线以太网线,建立互联网连接。

    2. 我转到系统偏好设置 - >分享 - >选择"从Thunderbolt Ethernet"分享我的连接;使用Wi-Fi"计算机使用Wi-Fi" - >启用"互联网共享"

    3. 我现在检查了我的MacBook的IP地址,它是192.168.2.30

  • 在我的 Android设备上,我做了以下事情:

    1. 打开Wi-Fi选项,我看到我的MacBook热点,我的Android设备已成功连接到我的MacBook热点。

    2. 我的Android应用程序已编程为http://192.168.2.30/MyServerApp-1.0-SNAPSHOT/rest

    3. 访问服务器
    4. 我安装了我的Android应用并在设备上运行。但它无法访问我的localhost服务器。我也无法从设备浏览器访问localhost。我的设备IP为192.168.1.2 为什么?我哪里错了或遗失?

P.S。在我的Android应用中,我拥有所有必需的权限,例如<uses-permission android:name="android.permission.INTERNET" />,我的应用程序可以访问生产服务器。我的问题是在localhost服务器访问。

1 个答案:

答案 0 :(得分:0)

在您的描述中,您没有提及对WildFLy绑定的IP地址进行任何更改,默认情况下它是localhost,这意味着任何远程客户端都无法访问它。

如果使用以下命令启动WildFly: -

./ standalone.sh -b 192.168.2.30

现在,这将导致WildFly监听您计算机的公共IP地址。

或者编辑standalone.xml,在interfaces部分中将公共接口定义更改为: -

    <interface name="public">
        <inet-address value="192.168.2.30"/>
    </interface>