我是用一个java类作为一个服务器,用一个安卓应用程序的虚拟机作为一个客户端,访问服务器的地址试过10.0.2.2,127.0.0.1,都不行,不知道怎么办了。实现的功能是我让客户端传一个字符串到服务器,然后服务器接收并且打印出来。服务器:客服端:
服务端的地址就是你服务器运行的电脑的ip地址,服务器运行在哪个电脑,那个电脑的ip就是你服务器端的地址。 使用socket编程的话创建服务器端的时候一般都是ServerSocket来创建一个对象,通过new构造函数的时候传入一个端口号,客户端连接的时候除了使用服务器端ip还有这个端口号,创建了对象之类,开启无限循环,用这个对象调用accept()方法,这就是常说的心跳连接,这个方法会一直阻塞,直到有客户端连接上。 客户端连接的时候也需要创建Socket对象,实例化这个对象的时候就需要传入服务器端ip和端口号,然后就可以利用这个对象获取输入输出流与服务器交互。 同样服务器端的ServerSocket对象调用accept()方法返回的Socket对象也可以获取输入输出流对象,然后利用这些流与客户端交互。
android模拟器(simulator)把它自己作为了localhost,也就是说,代码中使用localhost或者127.0.0.1来访问,都是访问模拟器自己!若你想在模拟器simulator上面访问你的电脑,那么就使用android内置的IP: 10.0.0.2,10.0.0.2是模拟器设定的特定ip,是你电脑的别名,在模拟器上用 10.0.0.2 就能成功访问你的电脑本机。 引用:http://www.eoeandroid.com/thread-154696-1-1.html
是你服务器的IP地址。你那个java程序运行在哪个电脑上,就是那个电脑的ip地址。 追问 就是用自己的电脑作为服务器,Ip地址试过,还是不对。 追答 你在Dev tools 里面打开Terminalping 一下 你的主机,看看行不行.首先要确认网络连接是可以连通的。