Java 如何将android设备连接到本地主机服务器?

Java 如何将android设备连接到本地主机服务器?,java,android,Java,Android,我正在尝试在android手机上运行的客户端应用程序和windows 7 PC上运行的服务器之间建立连接 我是android新手,所以在寻找一些客户机-服务器教程时,我得到了以下2个链接 这里,服务器是在java上开发的,并使用axis2 webservice发布。我遵循教程,可以开发类似的客户端和服务器,在模拟器上运行良好。但是,如果我尝试使用我的android手机访问相同的内容,它将不起作用。我的手机无法与电脑上的本地主机通话 我在这里做的是, 1. Connected both my

我正在尝试在android手机上运行的客户端应用程序和windows 7 PC上运行的服务器之间建立连接

我是android新手,所以在寻找一些客户机-服务器教程时,我得到了以下2个链接

这里,服务器是在java上开发的,并使用axis2 webservice发布。我遵循教程,可以开发类似的客户端和服务器,在模拟器上运行良好。但是,如果我尝试使用我的android手机访问相同的内容,它将不起作用。我的手机无法与电脑上的本地主机通话

我在这里做的是,

1. Connected both my PC and mobile to same WIFI network.
2. Connected the mobile to PC using USB.
3. Started the Server on Tomcat
4. Running the Client Project from eclipse and selecting my mobile as target.
下面是我发布的webservice URL,我正在从客户端代码调用它

http://192.168.0.3:8080/MyWebService/services/WebService?wsdl
这里192.168.0.3是我的电脑IP


请让我知道我在这里做错了什么?

Windows 7可能会阻塞端口8080。您可以使用以下命令测试您的端口是否从另一台pc打开

telnet 192.168.0.3 8080
或者

如果8080被阻止,则您可能希望使用以下方法打开它:

  • 单击开始按钮的开始按钮图片,然后单击控制面板,打开Windows防火墙。在搜索框中,键入防火墙,然后单击Windows防火墙
  • 在左侧窗格中,单击高级设置。需要管理员权限如果系统提示您输入管理员密码或确认,请键入密码或提供确认
  • 在“具有高级安全性的Windows防火墙”对话框的左侧窗格中,单击入站规则,然后在右侧窗格中单击新建规则
  • 按照新建入站规则向导中的说明操作

  • 注意:您必须事先确保您的android设备已连接到同一局域网或wifi。

    尝试访问您的URL

    http://192.168.0.3:8080/MyWebService/services/WebService?wsdl
    
    从你的android浏览器。如果您得到一个xml页面,那么这不是网络问题。如果是网络问题,请尝试重新启动本地服务器并更改防火墙和路由器配置


    你必须提供更多信息才能得到具体答案。

    如果一切正常,那么你应该检查你的Android应用程序。 您必须添加以下Internet访问权限

    <uses-permission android:name="android.permission.INTERNET"/>
    
    
    
    什么不起作用?你在Logcat中有错误吗?您没有防火墙规则阻止端口8080吗?它说无法连接到192.168.0.3。我需要在Internet上发布webservice吗?@user001我想你们应该在服务器上发布。但如果有人知道,那就详细说明。如何才能访问未部署在服务器上的Web服务。当您在emulator上运行应用程序时,它知道您是本地主机IP,因为tomcat服务器在同一个平台上运行。嗨,Thomas,yes telnet命令说端口8080被阻塞。然后,我尝试了您提供的所有步骤,但即使在入站规则向导中创建了新规则之后,telnet也给了我相同的错误。(无法使用端口8080访问IP)Hi@user001。您是否尝试过使用192.168.0.3从服务器pc访问端口8080?嗨,托马斯,我现在可以看到我的pc能够ping我的手机,而且如果我在手机上运行服务器代码,在pc上运行客户端代码,那么我的手机就能够读取客户端(pc)发送的信息。但我需要反之亦然(即移动作为客户端和PC作为服务器),这仍然不起作用。上面说目的地不可到达。也许是路由器中的AP隔离?托马斯,我的问题现在解决了。这是w.r.t.防火墙。Windows防火墙已关闭,但即使如此问题仍然存在。然后,IT人员更改了一些设置,现在可以工作了。(不确定做了哪些更改)我认为您的解决方案是正确的,因为您为我指出了正确的方向。感谢您的帮助。Android mobile没有检测到我的PC IP本身,因此Android浏览器也不会显示WSDL。让我知道防火墙和路由器的设置。对于您的WiFi路由器,将有一个配置IP。对于大多数供应商来说,它是192.168.1.1。所有连接到此网络的设备都将获得192.168.1.xxx类型的IP。因此,请确保您正在为此特定网络使用系统的IP。