android socket编程小demo

  昨天学了android socket编程方面的东西,写了个小demo。程序是以PC作为服务器端,模拟器作为客户端编写的,昨天一直连接不上,今天早上在网上找了些资料完成了这个功能。

  代码很简单,公司有上传限制,上传不了,抱歉。

  我之前一直连接不上PC端,以为是ip设置有问题,换了好几个IP,最先是用的本地PC客户端服务端连接的IP:127.0.0.1。后来证实这个IP不适合android模拟器与PC通信,10.0.2.2才是模拟器与PC通信的IP。

  我运行好服务器server端后,又运行android客户端程序,一直没反应,也不报错,最后才发现是我AndroidManifest中uses-permission中的android:name写错了,android.permission.INTERNET中INTERNET少打了个字母,是个小问题,但是不报错很难定位。
  android中很多莫名其妙的问题都是出在AndroidManifest配置文件中,所以有未知错误的话可以进来这个文件看看是否有问题。

  总结:Android系统默认只能通过IP(10.0.2.2)单向访问PC电脑,而PC电脑不能通过IP来直接访问Android模拟器系统。要想实现PC电脑和Android模拟器系统以及Android模拟器之间相互通信必须借助端口重定向(redir)来实现。
  记得配置好<uses-permission android:name="android.permission.INTERNET"/>

  另:关于端口重定向可参考http://orgcent.com/pc-android-emulator-socket/[/color][/u]

猜你喜欢

转载自xcr95037.iteye.com/blog/1783687