从USB连接的Android移动设备访问PC的本地主机

从USB连接的Android移动设备访问PC的本地主机,android,Android,我有一个安卓设备(三星galaxy tab)通过USB连接到我的电脑 我想使用WebServices并在android设备上运行位于PC本地xampp服务器上的网页 如果我的PC和android设备都连接在同一个无线网络上,我就能实现这一目标 但是,仅使用USB连接就可以在没有任何无线连接的情况下访问localhost页面 (注:当我在模拟器上运行应用程序并使用ip 10.0.2.2访问PC上的本地主机时,同样的情况也适用)检查USB连接类型选项。你应该有一个叫做“互联网通行证”。这将使您的手机

我有一个安卓设备(三星galaxy tab)通过USB连接到我的电脑

我想使用WebServices并在android设备上运行位于PC本地xampp服务器上的网页

如果我的PC和android设备都连接在同一个无线网络上,我就能实现这一目标

但是,仅使用USB连接就可以在没有任何无线连接的情况下访问localhost页面


(注:当我在模拟器上运行应用程序并使用ip 10.0.2.2访问PC上的本地主机时,同样的情况也适用)

检查USB连接类型选项。你应该有一个叫做“互联网通行证”。这将使您的手机使用与PC相同的连接。

我终于解决了这个问题。我用三星Galaxy S搭配Froyo。下面的“端口”与模拟器使用的端口相同(10.0.2.2:port)。 我所做的:

  • 首先用USB线连接真实设备(确保可以在设备上上传应用程序)
  • 从连接的设备获取IP地址,该地址以192.168.x.x:port开头
  • 打开“网络和共享中心”
  • 单击设备上的“局域网连接”并选择“详细信息”
  • 将“IPv4地址”复制到您的应用程序中,并将其替换为:
    http://192.168.x.x:port/test.php
  • 将应用程序(再次)上载到真实设备
  • 转到属性并打开“USB连接”
  • 在设备上运行应用程序

  • 它现在应该可以工作了。

    这是我的Android应用程序的一段代码:

    该应用程序能够在服务器上运行的servlet和插入USB可调试模式的Android设备之间与HTTP get post模型进行通信(因为该应用程序正在开发中)

    当服务器Tomcat Apache 7运行时(当应用程序开发完成时),我也可以通过Wi-Fi运行应用程序

    获取您的IP地址

  • 转到命令提示符
  • 键入
    ipconfig
  • 按回车键

  • 在列表中,IPv4地址是您的IP。

    我已经阅读了许多论坛并尝试了play应用程序,但直到现在还没有找到解决方案

    我相信我的情况与你的类似,但我会澄清以帮助他人。我有一个本地托管的网站和网络服务供我的android应用程序使用。我需要在路上用我的笔记本电脑进行演示,没有网络连接

    注意:使用我的iPhone作为wifi热点,连接我的pc和android设备都能正常工作,但iPhone 4S的连接速度很慢,并且经常中断

    我的解决方案如下:

    • 拔下电脑上的网络电缆并关闭wifi
    • 关闭android设备上的wifi
    • 通过USB将android连接到pc
    • 在android菜单中打开“USB连接”。(在网络->更多…->栓系和便携式热点下)
    • 获取由USB连接电缆分配的计算机IP。(打开命令提示符并键入“ipconfig”,然后查找USB网络适配器分配的IP)
    • 使用找到的IP地址而不是本地主机在PC上打开浏览器进行测试。即
      http://192.168.1.1/myWebSite
    • 在android上打开一个浏览器并测试它是否工作

    我在windows电脑上完成了这项工作,效果非常好

    在手机中打开USB连接。 在计算机的命令提示符中键入ipconfig,并找到“以太网适配器局域网连接x”(主要是第一个)的ipv4 现在转到您的移动浏览器,键入带有web应用程序端口号的ipv4。例如:-192.168.40.142:1342


    它通过这些简单的步骤工作!

    通过USB电缆连接android手机并访问计算机上的http服务器

  • 防火墙-关闭它,一旦一切正常,你可以添加一个规则 在入站规则下,启用Apache HTTP服务器(UDP和TCP)(或您正在使用的任何HTTP服务器)警告-如果关闭防火墙,您的计算机将很容易受到internet攻击。因此,请先关闭internet并断开与网络的连接。由于您正在连接本地网络上的两台设备,因此不需要使用internet即可工作

  • 插入USB电缆。如果网络窗口弹出,请选择家庭网络。如果不弹出,则可能设置为公共(这将不起作用),因此转到:控制面板\网络和互联网\网络和共享中心(在win7中)然后将其设置为“家庭网络”。在您按下它共享图片、音乐后,它可能会显示下一个屏幕…只需单击它上的“取消”。在主屏幕上,家庭网络仍将处于活动状态

  • 您需要计算机的IP、localhost或其他别名不起作用。若要获取计算机的IP,请启动Windows命令行shell(按Windows键+R并键入cmd),黑色命令提示窗口应弹出,键入:“ipconfig”并按enter。现在查找

  • IPv4地址:192.168.####### 这是您的手机分配给计算机的IP

  • 现在您应该完成了,在手机浏览器中,尝试从计算机的服务器访问测试html文件,它应该显示良好

  • 现在一切正常,您可能希望在计算机上启用防火墙和Internet访问。现在再次尝试访问http服务器。它可能不起作用。根据您的设置,您可能会收到一个弹出窗口,要求您添加允许它的规则,但如果您不这样做,只需自己添加即可。启动windows防火墙并转到中绑定规则(因为它是服务器)并添加新规则。选择“程序”。找到http服务器的exe,并在下一个屏幕中确保选择了“允许”。再次尝试连接,现在应该可以正常工作。如果没有,可能是因为选择了错误的exe。您甚至可以更高级地访问res
    String        serverIP      = "192.168.42.87";
    int           serverPort    = 5544;
    InetAddress   serverAddress = InetAddress.getByName(serverIP);
    Socket        socket         = new Socket(serverAddress, serverPort);
    ...