You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

两台树莓派间TCP连接更换开发设备后连接失败问题求助

TCP连接失败排查方案

代码排查项

  • 补充错误日志输出:将客户端connect判断分支中的printf("\nConnection Failed \n")替换为perror("connect failed"),可直接获取系统级错误原因(比如连接超时、连接被拒绝、路由不可达等),快速缩小排查范围。
  • 校验端口一致性:确认客户端和服务端代码中PORT宏的数值完全匹配,避免两边端口定义不一致导致连接失败。
  • 排除上层逻辑阻塞:客户端main函数中的scanf("hey")需要输入完全匹配的hey字符串才会继续执行,configureGPIOs、launchTests函数也可能存在阻塞逻辑,可先注释掉这三行代码,直接调用configurationTCP测试TCP连接逻辑,排除上层逻辑的干扰。

网络排查项

  • 基础连通性校验:在笔记本终端执行ping 192.168.137.193,确认笔记本和运行服务端的树莓派网络连通,如果ping不通,说明是局域网配置问题,和代码无关。
  • 端口可达性校验:ping通后执行telnet 192.168.137.193 [你的PORT端口号],如果telnet连接失败,说明服务端端口未对外开放或者被防火墙拦截:
    • 登录服务端树莓派执行sudo ufw status查看防火墙状态,若防火墙开启,执行sudo ufw allow [你的PORT端口号]放行对应端口。
    • 服务端树莓派执行ss -tulpn | grep [你的PORT端口号],确认服务端程序启动后,对应端口处于LISTEN状态。
  • 网段一致性校验:192.168.137.x通常是Windows移动热点默认网段,确认笔记本和树莓派处于同一局域网下,没有跨网段导致路由不可达。

快速验证方案

在运行服务端的树莓派本地编译运行客户端代码,将客户端IP改为127.0.0.1测试,如果本地可以正常连接,说明代码逻辑无问题,故障由网络配置导致。

内容的提问来源于stack exchange,提问作者Jeanlqs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:57:01