【发布时间】:2021-12-23 20:59:18
【问题描述】:
我将我的安卓手机和电脑都连接到了同一个 Wifi,在虚拟盒子中运行 python 服务器的电脑。我可以将客户端连接到同一个 VirtualBox 中的服务器,但不能通过手机工作。我对网络的了解有限。我想来自服务器和客户端的 IP 地址是相同的,它应该可以工作。谁能给我一些提示为什么它无法连接以及如何调试它?
我在 VirtualBox Ubuntu 的终端中输入主机名 -I 并得到
10.0.2.15.
我已经在 AndroidManifest.xml 中添加了这个
<uses-permission android:name="android.permission.INTERNET" />
python 服务器代码
server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
port = 10050
socket_address = ('10.0.2.15',port)
server_socket.bind(socket_address)
server_socket.listen(5)
client_socket,addr = server_socket.accept()
android python客户端代码(我使用chaquo.python.android在android上运行python脚本)
def connect():
client_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host_ip = '10.0.2.15'
port = 10050
client_socket.connect((host_ip,port))
android 上的错误
Process: com.example.simplecamera, PID: 17958
com.chaquo.python.PyException: TimeoutError: [Errno 110] Connection timed out
【问题讨论】:
标签: python android sockets virtualbox