python服务器与android客户端socket通信及问题解决

在实现python服务器与android客户端的demo的时候,我并没有自己去实现代码,我在网上找了一篇博客,链接如下:

https://blog.****.net/wunghao8/article/details/40984151

但是,它却有很多问题,客户端连不上服务端,首先来梳理一下:

1. python 代码中的host最好不要为空,改为127.0.0.1

python服务器与android客户端socket通信及问题解决

2. android端在api大于一个值的时候,不可以在主进程中申请网络资源,会报错,所以需要新建一个线程去申请网络资源

 

python服务器与android客户端socket通信及问题解决

 

3. 要在manifest中申请使用网络的权限

 

python服务器与android客户端socket通信及问题解决

 

4. 根据自己使用的安卓模拟器选择android端的host

如果使用的是android自带的AVD,那么要从Android模拟器访问你的PC localhost,请使用10.0.2.2而不是127.0.0.1。

localhost或127.0.0.1指的是模拟设备本身,而不是运行模拟器的主机。

对于Genymotion,使用:10.0.3.2而不是10.0.2.2。

python服务器与android客户端socket通信及问题解决

 

运行成功,如下所示:

python服务器与android客户端socket通信及问题解决