**我有一个用python-django(restapi)编写的本地服务器和一个android应用程序(使用retrofitclient)。我想做的是不使用仿真器的登录部分。使用ip 10.0.2.2
的仿真器可以正常工作。我在与笔记本电脑相同的网络中连接了移动设备,这比我共享来自PC的连接要多得多,以便不受限制。在服务器端,我设置了ALLOWED_HOSTS = ['*'**]
。
我的ip地址是192.168.56.1
,运行服务器的端口是8000
。在retrofit
中,我设置了BASE_URL ="http://192.168.56.1:8000/api/";
,当我启动应用并尝试登录时,出现此错误
D/OkHttp: --> POST http://192.168.56.1:8000/api/login/ http/1.1
D/OkHttp: Content-Type: application/json; charset=UTF-8
D/OkHttp: Content-Length: 37
D/OkHttp: {"password":"mara","username":"mara"}
D/OkHttp: --> END POST (37-byte body)
D/TcpOptimizer: TcpOptimizer-ON
D/OkHttp: <-- HTTP FAILED: java.net.SocketTimeoutException: failed to
connect to /192.168.56.1 (port 8000) from /192.168.137.85 (port 38536) after 10000ms
每次尝试连接时,Android似乎都会给我一个随机端口。
我使用API-level 28
。我不知道该如何解决该问题,因为仅使用模拟器无法解决我的问题。