树莓派4无法通过Socket连接桌面端服务器问题求助
树莓派客户端无法连接桌面端Socket服务器
代码实现
桌面端server.py
import socket listensocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) listensocket.bind('', 8000) # 启动服务器 listensocket.listen(999) print("Server started at " + socket.gethostname() + " on port " + str(8000)) # 接受连接 (clientsocket, address) = listensocket.accept() print("New connection made!") while True: message = clientsocket.recv(1024).decode() # 获取传入消息 print(message)
树莓派4端client.py
import socket from time import sleep as sl s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('192.168.0.103', 8000)) # 连接服务器 for i in range(100000000): x = f"Message no = {i}" # 准备发送的消息 s.send(x.encode()) # 编码并发送消息 sl(0.001) print(x)
问题描述
桌面端部署Socket服务器后,树莓派4(32位系统)作为客户端尝试向PC发送数据,但无法建立连接。
已确认的前置条件:
- 两台设备处于同一局域网
- 双方防火墙均已关闭
- 可通过SSH从桌面端远程连接树莓派
特殊测试结果
交换客户端与服务器角色(修改client.py中的IP为树莓派本地IP,桌面端作为客户端连接树莓派服务器)时,代码可正常运行,但实际需求为树莓派主动向桌面端发送数据。
树莓派网络监听状态(执行netstat -t -l -n输出)
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN
内容的提问来源于stack exchange,提问作者Aman
相关产品推荐
相关产品推荐

