android socket编程小demo
16lz
2021-01-24
昨天学了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]
代码很简单,公司有上传限制,上传不了,抱歉。
我之前一直连接不上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]
更多相关文章
- android SDK下各目录的用途,以及在不同系统下哪些是通用的。
- Android(安卓)IPC之Messenger和AIDL(android开发艺术探索随笔)
- android kotlin aidl 通讯实现inout类型及回调监听
- Android---44---使用AIDL Service 实现跨进程调用Service
- android ------- TCP/IP
- Android通信方式篇(四)-Binder机制(开篇)
- Android(安卓)Studio配置文件路径修改
- 声波通信、声波传输原理及源代码
- 【极客之作】快到极致的Android模拟器——Genymotion