【发布时间】:2023-03-24 18:20:01
【问题描述】:
我想使用来自socketio documentation 的服务器和客户端示例脚本连接到 Raspberry。 我正在使用第一个客户端和服务器示例代码。
当我在 pi 上运行服务器脚本时,我得到:
pi@raspberrypi:~/Desktop $ python3 server_socketio.py
(792) wsgi starting up on http://0.0.0.0:5000
所以这似乎有效。
当我在我的 Ubuntu 20.04 PC 上运行客户端脚本时,我得到:
/usr/bin/python3.8 /home/marco/Schreibtisch/BlinkingLED/client_socketio.py
Traceback (most recent call last):
File "/home/marco/Schreibtisch/BlinkingLED/client_socketio.py", line 29, in <module>
sio.connect('http://0.0.0.0:5000')
File "/home/marco/.local/lib/python3.8/site-packages/socketio/client.py", line 314, in connect
raise exceptions.ConnectionError(exc.args[0]) from None
socketio.exceptions.ConnectionError: Connection refused by the server
我试图打开 pi 上的端口
sudo apt-get install ufw
sudo ufw allow 5000
sudo ufw enable
sudo reboot
给了
pi@raspberrypi:~/Desktop $ sudo ufw status
Status: active
To Action From
-- ------ ----
5000 ALLOW Anywhere
8090 ALLOW Anywhere
22 ALLOW Anywhere
5000 (v6) ALLOW Anywhere (v6)
8090 (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
而 netstat 给出:
pi@raspberrypi:~/Desktop $ sudo netstat -tulpn | grep LISTEN
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 471/vncserver-x11-c
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 480/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 419/cupsd
tcp6 0 0 :::5900 :::* LISTEN 471/vncserver-x11-c
tcp6 0 0 :::22 :::* LISTEN 480/sshd
tcp6 0 0 ::1:631 :::* LISTEN 419/cupsd
将 python 脚本中的端口也更改为 5900 或 8090 也不起作用。怎么了?在树莓派上打开一个端口有更好的战争吗?据我了解,ufw 是防火墙。我必须
【问题讨论】:
-
你可以在你的RasPi上运行
hostname -I找到你需要使用的地址。
标签: python python-3.x tcp raspberry-pi