当尝试将客户端连接到Raspberry Pi服务器时,Linux返回“无主机路由”错误,Windows 10返回“WinError 10060”。
服务器.py
-在Raspberry Pi 2上运行(rasbian,Bullseye,内核6.1.21-v7+)
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("192.168.0.17", 1234))
s.listen(5)
while True:
clientsocket, address = s.accept()
print(f"Connection from {address} has been established!")
clientsocket.send(bytes("Welcome to the server!", "utf-8"))
客户端.py
-在Linux和Windows 10上运行
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.0.17", 1234))
msg = s.recv(64)
print(msg.decode("utf-8"))
我已经尝试过:
-
ifconfig确认Ras Pi ipv4为预期的192.168.0.17。
-
已检查端口1234是否在所有设备上都可用。它是。
-
从Linux和Windows 10设备Ping ras pi返回0%的数据包丢失。
-
所有设备上都禁用了防火墙,只是为了确保安全。
-
Ras-Pi客户端.py和Linux客户端.py连接到Windows服务器.py。
-
Linux客户端.py和Windows客户端.py都未连接到Ras Pi服务器.py。
-
通过wifi和以太网将Ras Pi连接到网络。
-
“nmap-sn 192.168.0.0/24”来检查192.168.0.17是否在那里,但它没有显示,即使ping有效。
-
安装了出色的Ras Pi更新,然后重新启动。
-
在Ras Pi上启用SSH,然后尝试从Linux连接,但由于相同的错误而失败(没有到主机的路由)。
-
关闭并再次打开路由器。
这些都没有导致网络上的其他设备找不到Ras-Pi的解决方案。
我还尝试了其他一些事情,比如添加防火墙规则,但后来在一起禁用防火墙之前重置为默认值。
我唯一能想到的尝试就是在Ras Pi上完全重新加载操作系统,但如果我能避免的话,我宁愿不这样做。
最令人困惑的是,我可以ping Ras Pi,但如果ip不存在,任何其他形式的连接都会返回一个错误。但确实如此。我希望。
我担心有一个简单的解决方案我忽略了。我忘了什么考试了?